C# WinForm中使用SQL数据库连接教程
需积分: 10 43 浏览量
更新于2024-09-16
收藏 110KB DOC 举报
"datagridview.doc 是关于Windows Forms控件DataGridView的文档,可能包含了如何在C#中使用DataGridView以及与数据库交互的示例代码。"
在Windows Forms开发中,`DataGridView`是一个常用的数据展示控件,它允许用户查看、编辑和操作表格数据。此控件可以与各种数据源绑定,包括数据库、数组、集合等。在提供的代码片段中,可以看到一个例子,展示了如何将`DataGridView`(记为`this.m_dvMainTable`)的数据绑定到文本框(`this.txtWDNCode`)的`Text`属性,字段是`NotificationCode`。这种数据绑定技术使得UI元素的值能够与数据源保持同步。
```csharp
this.txtWDNCode.DataBindings.Add("Text", this.m_dvMainTable, "NotificationCode");
```
这段代码的含义是:当`m_dvMainTable`中的`NotificationCode`字段值改变时,`txtWDNCode`的文本也会相应更新,反之亦然。这简化了数据视图与用户界面之间的交互处理。
接下来的部分涉及了一个名为`Sqlconn`的类,这个类是用来处理SQL Server数据库连接的。它包含两个主要方法:
1. `GetDataSet(string sql)`:返回一个填充了指定SQL查询结果的`DataSet`对象。首先创建一个`SqlConnection`实例,然后通过它创建一个`SqlDataAdapter`,用这个适配器填充`DataSet`,最后返回数据集。
```csharp
protected DataSet GetDataSet(string sql)
{
DataSet ds = new DataSet();
try
{
conn = new SqlConnection(ConnStr);
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
sda.Fill(ds);
return ds;
}
catch (Exception e)
{
throw e;
}
}
```
2. `ExecuteSql(string sql)`:执行非查询的SQL语句(如INSERT, UPDATE, DELETE),并返回受影响的行数。同样地,它创建`SqlConnection`和`SqlCommand`,打开连接,执行命令,然后关闭连接。
```csharp
protected int ExecuteSql(string sql)
{
try
{
conn = new SqlConnection(ConnStr);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
return cmd.ExecuteNonQuery();
}
catch (Exception e)
{
throw e;
}
finally
{
conn.Close();
}
}
```
这个`Sqlconn`类使用了`SqlConnection`和`SqlCommand`来与SQL Server数据库进行交互,其中`ConnStr`变量存储了数据库连接字符串。连接字符串的格式通常包括服务器名、数据库名、用户名和密码,如示例所示:
```csharp
private string ConnStr = "server=(local);database=lirbray;uid=sa;pwd=admin";
```
在C#中进行数据库操作时,通常会使用`using`语句来确保数据库连接在使用后能够正确关闭,即使在出现异常时也能释放资源。然而,在给出的代码片段中,`conn.Close()`是在`finally`块中调用的,这是另一种保证资源释放的方式,尽管不如`using`语句简洁和安全。
这个文档或代码片段主要涵盖了以下知识点:
1. Windows Forms中的`DataGridView`控件及其数据绑定。
2. 使用C#操作SQL Server数据库的基本步骤,包括创建`SqlConnection`,执行SQL查询和非查询语句。
3. 数据库连接字符串的格式和使用。
4. 异常处理以确保程序的健壮性。
2010-10-07 上传
2008-03-03 上传
2022-07-13 上传
2022-07-13 上传
2011-01-01 上传
2011-11-26 上传
2010-09-04 上传
2012-03-14 上传
2014-01-02 上传
奋斗的庆富
- 粉丝: 2
- 资源: 51
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析