C#初学者连接数据库查询增改参考代码
### C#初学者连接数据库查询增改参考代码 #### 概述 本文旨在为C#初学者提供一个关于如何使用ADO.NET进行数据库操作的基础指南。通过具体的实例代码,帮助读者理解如何实现数据库的连接、查询、增加、删除、修改等基本操作,并且展示了如何将查询结果展示在用户界面中。 #### ADO.NET简介 ADO.NET是Microsoft开发的一个用于访问关系型数据库和其他类型的数据源(如XML文件)的数据访问技术。它提供了两个主要的对象模型:数据提供程序(如SqlConnection)和数据集(如DataSet)。数据提供程序负责与数据源之间的通信,而数据集则是在内存中存储数据的一种方式,可以看作是一个轻量级的、断开连接的数据库。 #### 增删改操作 在ADO.NET中,可以通过SqlCommand对象来执行SQL命令。下面是一个简单的例子,演示了如何插入一条新记录: ```csharp using System; using System.Data.SqlClient; public void InsertData() { string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; string sql = "INSERT INTO MyTable (Col1, Col2) VALUES (@Value1, @Value2)"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(sql, connection); command.Parameters.AddWithValue("@Value1", "Value1"); command.Parameters.AddWithValue("@Value2", "Value2"); try { connection.Open(); int rowsAffected = command.ExecuteNonQuery(); Console.WriteLine("Rows affected: " + rowsAffected); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } } ``` 对于删除和修改操作,也可以使用类似的方法,只需要将SQL语句改为DELETE或UPDATE语句即可。 #### 使用ListView显示数据 为了在ListView控件中显示数据,通常会使用SqlDataReader对象来读取数据。下面是一个示例代码,展示了如何使用SqlDataReader填充ListView: ```csharp public void LoadDataToListView() { string connectionString = "your_connection_string"; string sql = "SELECT * FROM MyTable"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(sql, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { ListViewItem item = new ListViewItem(reader["Col1"].ToString()); item.SubItems.Add(reader["Col2"].ToString()); listView1.Items.Add(item); } reader.Close(); } } ``` #### 根据条件查询数据并显示在ListView中 如果需要根据特定条件查询数据,可以在SQL语句中添加WHERE子句。例如,查询Col1等于某个值的所有记录: ```csharp string sql = "SELECT * FROM MyTable WHERE Col1 = @Value1"; command.Parameters.AddWithValue("@Value1", "some_value"); // 其他代码保持不变 ``` #### 使用DataGridView显示数据 DataGridView控件比ListView更强大,它可以自动绑定到数据源。通常会使用SqlDataAdapter和DataSet一起工作来填充DataGridView: ```csharp public void LoadDataToDataGridView() { string connectionString = "your_connection_string"; string sql = "SELECT * FROM MyTable"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlDataAdapter adapter = new SqlDataAdapter(sql, connection); DataSet ds = new DataSet(); adapter.Fill(ds, "MyTable"); dataGridView1.DataSource = ds.Tables["MyTable"]; } } ``` #### 根据条件查询数据显示在DataGridView中 同样地,可以根据特定条件查询数据,并将其显示在DataGridView中: ```csharp string sql = "SELECT * FROM MyTable WHERE Col1 = @Value1"; adapter.SelectCommand.Parameters.AddWithValue("@Value1", "some_value"); // 其他代码保持不变 ``` #### 批量更新 DataGridView支持批量更新的功能,这需要SqlCommandBuilder对象的帮助。SqlCommandBuilder能够自动生成适当的SQL语句来更新数据源: ```csharp public void UpdateDataFromDataGridView() { string connectionString = "your_connection_string"; string sql = "SELECT * FROM MyTable"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlDataAdapter adapter = new SqlDataAdapter(sql, connection); SqlCommandBuilder builder = new SqlCommandBuilder(adapter); DataSet ds = new DataSet(); adapter.Fill(ds, "MyTable"); dataGridView1.DataSource = ds.Tables["MyTable"]; // 用户对DataGridView进行编辑后... adapter.Update(ds.Tables["MyTable"]); } } ``` #### 如何将数据表中的数据在ComboBox中显示 我们来看看如何将数据表中的数据显示在ComboBox中: ```csharp public void LoadDataToComboBox() { string connectionString = "your_connection_string"; string sql = "SELECT DISTINCT Col1 FROM MyTable"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(sql, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { comboBox1.Items.Add(reader["Col1"].ToString()); } reader.Close(); } } ``` 以上就是使用C#和ADO.NET操作数据库的基本方法。希望这些示例代码能够帮助初学者更好地理解和掌握数据库操作的相关知识。
- liwei34302011-12-22只是文档的形式而已,要是有代码例子就好了。
- guyueclever2012-10-11要是有代码例子就好了
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 金山PDF教育版编辑器
- 基于springboot+element的校园服务平台源代码项目包含全套技术资料.zip
- 自动化应用驱动的容器弹性管理平台解决方案
- 各种排序算法 Python 实现的源代码
- BlurAdmin 是一款使用 AngularJs + Bootstrap实现的单页管理端模版,视觉冲击极强的管理后台,各种动画效果
- 基于JSP+Servlet的网上书店系统源代码项目包含全套技术资料.zip
- GGJGJGJGGDGGDGG
- 基于SpringBoot的毕业设计选题系统源代码项目包含全套技术资料.zip
- Springboot + mybatis-plus + layui 实现的博客系统源代码全套技术资料.zip
- 智慧农场小程序源代码全套技术资料.zip