迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 C# 中选择查询数据库

作者:迹忆客 最近更新:2024/02/01 浏览次数:

本文将指导你建立与 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# 中与数据库建立连接

为了与数据库交互,你需要一些参数。这些参数组合起来形成一个连接字符串。

  1. 数据库名称 - 你需要提供你需要从中读取数据的数据库的名称。建议一次只使用一个数据库。
  2. 数据库凭证 - 与数据库交互总是有一个用户名和密码,因此你需要提供该授权用户名和密码。
  3. 一些可选参数 - 你还可以提供一些可选参数。例如,你可以设置一个超时值,如果数据库在一段时间内保持不活动状态,则应关闭连接。

让我们看一下示例代码,我们将在其中执行与数据库的连接。假设数据库用户名是 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 查询的函数,例如 insertupdate 等。
ExeuteScalar() 用于返回单个值的查询的函数,例如 count

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 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# 中的数据结构集成在一起。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便