C# .NET SQL Server 数据库客户端






1.90/5 (17投票s)
2005年12月10日
4分钟阅读

67188

3046
SQLServerClient 是一个简单的程序集,它提供了一种非常条理清晰的方式来连接和编辑 SQL 表。它还包含一个演示窗体,展示了它的用法。
引言
连接到 SQL Server 数据库是一项基本任务,开发人员经常会不必要地重复进行。SQLServerClient 是一个程序集,它提供了一种非常易于使用且有组织的机制来访问 SQL Server 上的数据库。它附带一个 C# .NET 的演示 Windows 窗体应用程序,展示了 SQLServerClient 的工作示例。在演示应用程序中,用户可以设置 SQL Server 数据源和所需的数据库。然后,用户可以运行 SELECT 或其他查询和命令,并查看结果和相应的消息。
理解 .NET 中的 SQL Server 连接性
下面定义了一组选定的组件和代码片段,这将帮助初学者快速理解在 .NET 框架中连接到 SQL Server 的基本知识。
SqlConnection
SqlConnection 对象代表与 SQL Server 数据源的唯一会话。在客户端/服务器数据库系统中,它相当于与服务器的网络连接。下面是一个简短的代码片段,定义了如何在 SqlServerClient 中创建 SqlConnection 类的对象。
SqlDataAdapter
SqlDataAdapter 在 DataSet 和 SQL Server 之间充当桥梁,用于检索和保存数据。SqlDataAdapter 通过映射 Fill(更改 DataSet 中的数据以匹配数据源中的数据)和 Update(使用适当的 Transact-SQL 语句更新数据源以匹配 DataSet 中的数据)来提供此桥梁。下面是一个简短的代码片段,定义了如何在 SQLServerClient 中创建 SqlDataAdapter 类的对象。
SqlCommand
SqlCommand 类表示要针对 SQL Server 数据库执行的 Transact-SQL 语句或存储过程。在 SQLServerClient 的上下文中,它已用于从获取的字符串查询对象生成 SqlCommand。下面是一个简短的代码片段。
/// <summary>
/// Provides a connection to the desired SQL Database
/// </summary>
SqlConnection m_SQLConnector = new SqlConnection();
/// <summary>
/// Provides an adapter for extracting data a from SQL Database
/// </summary>
SqlDataAdapter m_SQLAdapter;
//Init a new SQL command
SqlCommand insertCommand = new SqlCommand();
//Feed the input query
insertCommand.CommandText = iQuery;
因此,上述定义的类对象的组合用于创建访问 SQL Server 上数据库的有组织的方法。
SQLServerClient 中的主要操作
本节仅定义了与 SQL Server 连接的一些基本函数和方法。
打开连接
下面显示的代码片段打开与所需 SQL 数据库的连接。所需的 SQLServer 和数据库名称在 SQL 连接字符串中指定。
//Setup Connection Object with new conenction string
this.m_SQLConnector = new SqlConnection("Initial Catalog=" +
this.m_DatabaseName + ";Data Source=" +
this.m_DataSource + ";Integrated Security=SSPI;");
//Open Connection
this.m_SQLConnector.Open();
关闭连接
下面显示的代码片段关闭与所需 SQL 数据库的已打开连接。
//关闭连接
this.m_SQLConnector.Close();
运行 SELECT 查询
要运行 SELECT 查询,我们需要使用 SqlCommand 组件。我们首先定义一个 DataTable 或 DataSet 来保存查询结果。然后,通过将查询以字符串格式和已打开的 SqlConnection 传递,生成 SqlCommand。然后,SqlAdapter 用于使用查询结果填充给定的 DataTable 或 DataSet。
//创建用于保存结果的数据表
DataTable returnDataObject = new DataTable();
//编译新的 SQL SELECT 命令
SqlCommand selectCommand = new SqlCommand( iQuery );
//设置现有 SQL 连接
selectCommand.Connection = this.m_SQLConnector;
//初始化 SQL 适配器
this.m_SQLAdapter = new SqlDataAdapter();
//应用编译的 SELECT 命令
this.m_SQLAdapter.SelectCommand = selectCommand;
//填充结果数据表
this.m_SQLAdapter.Fill(returnDataObject);
运行非 SELECT 查询
非 SELECT 查询包括任何其他查询,例如 INSERT、UPDATE、IDENTITY_INSERT。在尝试将任何记录插入表之前,请务必将 IDENTITY_INSERT 设置为 ON。下面显示的代码片段不言自明。
//初始化新的 SQL 命令
SqlCommand insertCommand = new SqlCommand();
//输入查询
insertCommand.CommandText = iQuery;
//输入现有连接
insertCommand.Connection = this.m_SQLConnector;
//执行非 SELECT 查询
insertCommand.ExecuteNonQuery();
在您的代码中集成 SQLServerClient
如前所述,这是一个非常易于使用的组件。下面定义的一些操作可以使用 SQLServerClient 通过一两行代码完成。
声明对象
/// <summary>
/// SQLServerClient 对象
/// </summary>
SQLServerClient m_SQLClient = new SQLServerClient();
定义服务器、数据库和打开连接
//新数据库名称
this.m_SQLClient.DataBase = “数据库名称”;
//新数据源名称
this.m_SQLClient.DataSource = “数据源名称”;
//重置并重新打开连接
this.m_SQLClient.resetAndReopenConnection();
运行 SELECT 查询
//运行查询文本框中写的查询
DataTable result = this.m_SQLClient.runSelectQuery(“所需查询”);
运行非 SELECT 查询
//运行查询文本框中写的查询
DataTable result = this.m_SQLClient.runNonSelectQuery(“所需查询”);
结论
一如既往,本文提供的所有代码均可免费使用,不受版权限制。您可以自由地将 SQLServerClient 集成到您的应用程序中,或对其进行任何修改。本文无意教导专家,仅作为初学者的指南。因此,请相应地评价本文,并给予好评。更重要的是,再次重申 SQLServerClient 是在您的 .NET 应用程序中访问 SQL 数据库的简单而有效的机制。