当前位置:首页 > 行业动态 > 正文

c#窗体应用程序sql的数据库

摘要:C#窗体应用程序结合SQL数据库,实现数据交互与管理,提升应用功能和用户体验。

在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; }

0