c#窗体应用程序sql的数据库
- 行业动态
- 2025-02-05
- 2
在C#窗体应用程序中,使用SQL数据库是一个常见的需求,下面将详细介绍如何在C#窗体应用程序中连接和使用SQL Server数据库。
一、准备工作
1、安装必要的软件:确保已经安装了SQL Server数据库和Visual Studio开发环境。
2、创建数据库:在SQL Server Management Studio (SSMS) 中创建一个新数据库,可以创建一个名为TestDB
的数据库。
3、创建数据表:在新建的数据库中创建一个数据表,创建一个名为Users
的表,包含以下列:ID
(主键,自增)、Name
(字符串类型)和Age
(整数类型)。
二、连接数据库
1、添加引用:在Visual Studio中,右键点击项目,选择“管理NuGet程序包”,搜索并安装System.Data.SqlClient
。
2、编写连接字符串:在C#代码中,使用以下格式编写连接字符串:
string connectionString = "Server=服务器地址;Database=数据库名称;User Id=用户名;Password=密码;";
string connectionString = "Server=localhost;Database=TestDB;User Id=sa;Password=your_password;";
3、建立连接:使用SqlConnection
类建立与数据库的连接:
using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // 在这里执行数据库操作 }
三、执行SQL命令
1、创建SqlCommand对象:使用SqlCommand
类来执行SQL命令,查询Users
表中的所有记录:
using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string sqlQuery = "SELECT * FROM Users"; SqlCommand command = new SqlCommand(sqlQuery, connection); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine($"ID: {reader["ID"]}, Name: {reader["Name"]}, Age: {reader["Age"]}"); } } }
2、执行非查询命令:对于插入、更新或删除等非查询命令,可以使用ExecuteNonQuery
方法,向Users
表中插入一条新记录:
using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string sqlInsert = "INSERT INTO Users (Name, Age) VALUES (@Name, @Age)"; SqlCommand command = new SqlCommand(sqlInsert, connection); command.Parameters.AddWithValue("@Name", "John Doe"); command.Parameters.AddWithValue("@Age", 30); int rowsAffected = command.ExecuteNonQuery(); Console.WriteLine($"Rows affected: {rowsAffected}"); }
四、使用DataGridView显示数据
1、拖放DataGridView控件:在Windows Forms Designer中,从工具箱中拖放一个DataGridView
控件到窗体上。
2、绑定数据源:使用SqlDataAdapter
填充DataTable
,并将其设置为DataGridView
的数据源:
using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string sqlSelect = "SELECT * FROM Users"; SqlDataAdapter adapter = new SqlDataAdapter(sqlSelect, connection); DataTable table = new DataTable(); adapter.Fill(table); dataGridView1.DataSource = table; }
五、处理数据更新
1、更新数据:当用户在DataGridView
中修改数据后,需要将这些更改保存回数据库,可以通过遍历DataGridView
中的行来实现这一点,并构建相应的UPDATE SQL命令。
2、示例代码:
private void SaveChanges() { foreach (DataGridViewRow row in dataGridView1.Rows) { if (row.Cells["ColumnName"].Value != DBNull.Value && !row.Cells["ColumnName"].Value.Equals(dataFromDB)) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string sqlUpdate = $"UPDATE Users SET ColumnName = @NewValue WHERE ID = @ID"; SqlCommand command = new SqlCommand(sqlUpdate, connection); command.Parameters.AddWithValue("@NewValue", row.Cells["ColumnName"].Value); command.Parameters.AddWithValue("@ID", row.Cells["ID"].Value); command.ExecuteNonQuery(); } } } }
通过以上步骤,可以在C#窗体应用程序中成功连接和使用SQL Server数据库,实现数据的查询、插入、更新和删除等操作,还可以将数据显示在DataGridView
控件中,方便用户进行查看和编辑,在实际应用中,还需要考虑异常处理、事务管理等方面的问题,以确保数据的安全性和一致性。
FAQs
1、问:如何在C#窗体应用程序中连接到SQL Server数据库?
答:确保已经安装了SQL Server数据库和Visual Studio开发环境,在C#代码中编写连接字符串,并使用SqlConnection
类建立与数据库的连接。string connectionString = "Server=localhost;Database=TestDB;User Id=sa;Password=your_password;"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // 在这里执行数据库操作 }
。
2、问:如何在C#窗体应用程序中使用DataGridView
显示SQL Server数据库中的数据?
答:在Windows Forms Designer中拖放一个DataGridView
控件到窗体上,使用SqlDataAdapter
填充DataTable
,并将其设置为DataGridView
的数据源。using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string sqlSelect = "SELECT * FROM Users"; SqlDataAdapter adapter = new SqlDataAdapter(sqlSelect, connection); DataTable table = new DataTable(); adapter.Fill(table); dataGridView1.DataSource = table; }
。