在 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# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:198 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:171 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:187 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中发出 HTTP POST Web 请求
发布时间:2024/02/04 浏览次数:131 分类:编程语言
-
在 C# 中,可以使用 3 种主要方法来发出 HTTP POST Web 请求:WebClient 类,HttpWebRequest 类和 HttpClient 类。本教程将讨论在 C# 中发出 HTTP POST Web 请求的方法。使用 C# 中的 WebClient 类发出 HTTP POST Web 请求
在 C# 中运行命令提示符命令
发布时间:2024/02/04 浏览次数:130 分类:编程语言
-
Process 类可用于在 C# 中运行命令提示符命令。在 C# 中使用 Process.Start() 函数运行命令提示符命令
在 C# 中调整图像大小
发布时间:2024/02/04 浏览次数:203 分类:编程语言
-
有两种主要方法可用于在 C# 中调整图像的大小,Bitmap 类构造函数和 graphics.DrawImage()函数。在本教程中,我们将讨论在C#中调整图像大小的方法。我们将带您完成整个过程,从加载原始图像到保
在 C# 中下载图片
发布时间:2024/02/04 浏览次数:138 分类:编程语言
-
有 3 种主要方法可用于下载 C# 中的图片,WebClient.DownloadFile()函数,Bitmap 类和 Image.FromStream()函数。在 C# 中使用 WebClient 类下载图片 WebClient 类提供了用于向 C# 中的 URL 发送数据和从 URL 接收数据
在 C# 中使用秒表
发布时间:2024/02/04 浏览次数:139 分类:编程语言
-
我们可以使用 Stopwatch 类来计算 C# 中的经过时间。使用 C# 中的秒表类计算经过时间 Stopwatch 类在 C# 中准确测量经过的时间。
在 C# 中获取可执行路径
发布时间:2024/02/04 浏览次数:200 分类:编程语言
-
有 3 种主要方法可用于获取 C# 中程序的可执行路径,即 Assembly 类,AppDomain 类和 Path 类。本教程将介绍获取 C# 代码的可执行路径的方法。使用 C# 中的 Assembly 类获取可执行路径