C#连接SQL Server实现DataGridView数据填充
4星 · 超过85%的资源 需积分: 49 133 浏览量
更新于2024-09-14
收藏 920B TXT 举报
在C#编程中,将SQL Server数据库中的数据读取并显示在DataGridView控件中是一项常见的任务,特别是在开发Windows应用程序时。这里我们关注的是如何通过ADO.NET连接到SQL Server,执行SQL查询,填充DataSet,然后将结果集展示在DataGridView上。
首先,创建一个名为`button1_Click`的事件处理器方法,该方法是按钮被点击时触发的。在这个方法内部,我们需要设置连接到SQL Server的配置,包括服务器地址、用户名(如sa)、密码以及要操作的数据库(这里是`table1`):
```csharp
private void button1_Click(object sender, EventArgs e)
{
// 创建DataSet对象用于存储查询结果
DataSet ds = new DataSet();
// 使用SqlConnection对象连接到SQL Server
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = "server=localhost;uid=sa;pwd=123456;database=table1";
conn.Open(); // 打开数据库连接
// 创建SqlCommand对象,用于执行SQL命令
using (SqlCommand command = conn.CreateCommand())
{
// 设置SQL查询语句(这里假设表名为gongneng)
command.CommandText = "select * from gongneng";
// 使用SqlDataAdapter填充DataSet
SqlDataAdapter da = new SqlDataAdapter(command);
try
{
da.Fill(ds); // 尝试填充数据到DataSet
}
catch {}
}
}
}
```
在上述代码中,关键步骤如下:
1. 创建DataSet和SqlConnection对象:DataSet是一个用于存储来自多个数据源的数据集合,而SqlConnection用于连接到SQL Server。
2. 打开数据库连接:通过调用`Open()`方法打开与SQL Server的连接。
3. 创建SqlCommand对象:SqlCommand用于执行SQL命令。在这里,我们设置了查询所有`gongneng`表中的列。
4. 使用SqlDataAdapter填充DataSet:SqlDataAdapter负责从数据库获取数据,并将其填充到DataSet中。`Fill()`方法会填充DataSet的当前表(默认是第一个表)。
5. 处理异常:`try-catch`结构用于捕获可能在执行SQL查询时出现的异常,防止程序崩溃。
6. 将数据绑定到DataGridView:在填充完DataSet后,我们创建一个新的DataTable对象(`DataTable dt = ds.Tables[0].Copy();`),并将其赋值给DataGridView的DataSource属性,从而将数据显示在DataGridView上。
这样,当用户点击按钮时,程序会从SQL Server查询`gongneng`表中的所有数据,并在DataGridView控件中动态显示出来。这个例子展示了基本的C#与SQL Server交互,用于数据绑定和可视化。在实际应用中,可能还需要考虑分页、错误处理和性能优化等因素。
2013-03-30 上传
2011-11-18 上传
点击了解资源详情
170 浏览量
133 浏览量
491 浏览量
154 浏览量
2015-06-29 上传
JINGNSS
- 粉丝: 24
- 资源: 17
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫