在 C# 中选择查询数据库
本文将指导你建立与 C# 应用程序的数据库连接,并使用数据库中的 SELECT
查询从不同的表中获取数据。
什么是数据库
数据库不仅仅是以表格形式组织的数据集合,还有更多。它以有组织的结构表示数据,具有适当的命名约定以及与其他表的关系。
数据库管理系统还提供了一种与数据库交互的语言(例如 SQL),该语言非常接近英语,因此用户非常容易理解。它还为我们提供了数据安全和优化方案,以提高数据操作的性能。
C#
中的数据库连接
通常,程序员使用数据库来存储他们的应用程序的数据。C# 语言为 Oracle 数据库和 Microsoft SQL server 数据库提供数据库编程。
C# 也可以与许多其他数据库一起使用,但以上两个是最常见和广泛使用的。无论你的数据库是什么,每个数据库背后的逻辑都是相同的。
本文将使用 SQL Server 数据库来执行操作。数据库操作所需的命名空间
是 System.data.SqlClient
。
它包含数据库连接和操作期间所需的所有类。
在 SQL Server 中创建数据库
第一步是创建一个需要在 SQL Server 中与之交互的数据库。该数据库是使用以下查询创建的。
create database mydb;
use mydb;
CREATE TABLE Student(
studentID varchar(20) NOT NULL PRIMARY KEY,
stuentName varchar(60) NOT NULL
);
insert into Student values("BS01", 'David');
insert into Student values("BS02", 'John');
执行这些查询后,将创建一个包含表 Student
的数据库,其中包含 2 行。
在 C#
中与数据库建立连接
为了与数据库交互,你需要一些参数。这些参数组合起来形成一个连接字符串。
- 数据库名称 - 你需要提供你需要从中读取数据的数据库的名称。建议一次只使用一个数据库。
- 数据库凭证 - 与数据库交互总是有一个用户名和密码,因此你需要提供该授权用户名和密码。
- 一些可选参数 - 你还可以提供一些可选参数。例如,你可以设置一个超时值,如果数据库在一段时间内保持不活动状态,则应关闭连接。
让我们看一下示例代码,我们将在其中执行与数据库的连接。假设数据库用户名是 usr
,密码是 usr123
。
SqlConnection conn;
string connectString =
@"Data Source=DESKTOP-FQ8R559;Initial Catalog=mydb;User ID=usr;Password=usr123";
conn = new SqlConnection(connectString);
conn.Open();
Console.WriteLine("Connection Established");
从数据库中读取数据
我们需要 SqlCommand
类和 SqlDataReader
从数据库中读取数据。SqlCommand
类用于在数据库上运行命令。
运行 Select
命令会生成 Resultset
。这个 Resultset
可以使用 SqlDataReader
类读取。
让我们看看下面的代码。
SqlCommand cmd;
SqlDataReader dataReader;
string sql = "Select * from Student";
cmd = new SqlCommand(sql, conn);
dataReader = cmd.ExecuteReader();
Console.WriteLine("Data from the Database..");
while (dataReader.Read()) {
Console.WriteLine(dataReader.GetValue(0) + " || " + dataReader.GetValue(1));
}
dataReader.close();
conn.close();
在这个代码片段中,首先,我们创建了一个 SqlCommand
对象并创建了一个我们需要在数据库上运行的查询。然后这个查询被发送到 cmd
对象和连接对象 conn
。
为了执行查询,我们使用函数 ExecuteReader()
,它返回一个 Resultset
,其中包含在查询中获取的数据。这个 ResultSet
可以使用 SqlDataReader
对象读取,该对象逐行读取循环中的数据。
最后,我们需要关闭阅读器和连接对象,以便释放它们以供进一步使用。
上述代码的输出将是:
Connection Established.
Data from the Database..
BS01 || David
BS02 || John
请注意,我们使用 ExecuteReader()
函数来执行 Select
查询。要执行更多类型的查询,我们需要不同的方法。
一些流行的查询结果阅读器是:
函数名称 | 描述 |
---|---|
ExecuteReader() |
用于执行可以以表格形式返回数据的查询的函数。 |
ExecuteNonQuery() |
用于在数据库中执行 DML 查询的函数,例如 insert 、update 等。 |
ExeuteScalar() |
用于返回单个值的查询的函数,例如 count |
相关文章
在 C# 中复制一个对象
发布时间:2024/02/01 浏览次数:120 分类:编程语言
-
有两种主要方法可用于在 C# 中创建对象的单独副本,MemberWiseClone()函数和参数化构造函数方法。在 C# 中使用 MemberWiseClone() 方法复制对象
在 C# 中使用对象发送器
发布时间:2024/02/01 浏览次数:164 分类:编程语言
-
在本文中,我们将了解什么是 Object Sender 以及如何在 C# 编程中使用它。本文将讨论什么是对象发送者以及如何在 C# 中使用它。C# 中的对象发送器概述
C# 中的 get 和 set
发布时间:2024/02/01 浏览次数:111 分类:编程语言
-
get 和 set 访问器用于将数据输入和输出到 C# 中的私有字段中。在本教程中,我们将在 C# 中介绍 get 和 set。
C# 中的字段与属性
发布时间:2024/02/01 浏览次数:164 分类:编程语言
-
本教程解释了 C# 中字段和属性之间的区别以及何时应该使用它们 本教程将解释 C# 类中字段和属性之间的区别。为了更好地说明这一点,你必须首先了解以下概念。
在 C# 中获取组合框的选定值
发布时间:2024/01/20 浏览次数:156 分类:编程语言
-
本教程展示了如何在 C# 中获取 ComboBox 的选定值。在本教程中,你将学习在 C# 中获取 ComboBox 的选定文本和值的不同方法。获取 ComboBox 控件的选定值的最常用方法是使用 C# 在按钮单击事件中获取
在 C# 中创建一个 UDP 服务器
发布时间:2024/01/20 浏览次数:161 分类:编程语言
-
在本文中,我们将学习如何在 C# 中创建 UDP 服务器。本文将展示如何在 C# 中创建一个简单的 UDP 服务器。在 C# 中创建一个 UDP 服务器
C# 中的 LINQ 分组
发布时间:2024/01/20 浏览次数:55 分类:编程语言
-
LINQ 中的 group by 用于按 C# 中的某个公共值对对象序列进行分组 C# 中的 LINQ 分组 LINQ 将类似 SQL 的查询功能与 C# 中的数据结构集成在一起。