如何使用 C# 在 SQL Server 数据库中保存 DataGridViewComboBoxColumn
Posted
技术标签:
【中文标题】如何使用 C# 在 SQL Server 数据库中保存 DataGridViewComboBoxColumn【英文标题】:How save DataGridViewComboBoxColumn in SQL Server database using C# 【发布时间】:2020-08-15 16:51:14 【问题描述】:我要开发学校管理系统,并希望通过保存按钮将课堂上每个学生的出勤记录从 DataGridViewComboBoxColumn 保存到数据库中。
我的意思是设置所有学生记录,例如当按下“保存”按钮时,存在、不存在或将保存记录留在数据库中。
这是我的代码 - 当我更改第一个学生的单元格时它可以工作
private void AttendanceDataGridVies_CurrentCellDirtyStateChanged(object sender, EventArgs e)
AttendanceDataGridVies.CommitEdit(DataGridViewDataErrorContexts.Commit);
private void AttendanceDataGridVies_CellValueChanged(object sender, DataGridViewCellEventArgs e)
string comboboxSelectedValue = string.Empty;
if (AttendanceDataGridVies.Columns[e.ColumnIndex].GetType() == typeof(DataGridViewComboBoxColumn))
comboboxSelectedValue = AttendanceDataGridVies.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
label2.Text = comboboxSelectedValue;
【问题讨论】:
您的问题是什么?我没有看到任何与将数据保存到数据库相关的代码。 【参考方案1】:您可能希望设置实体框架之类的东西来处理数据库功能。这篇文章已经有好几年了,但我认为它可能会让你上路:Entity-Framework-Tutorial-for-Beginners
此外,您通常希望将 DB 层与表示层分开。但是,如果您愿意,您可以设置自己的连接字符串并编写自己的 SQL。为此,您基本上需要:
-
设置连接字符串
创建 SQL 语句
打开 SQL 连接
调用 SQL 命令
关闭连接
一个非常简单的连接到项目内部的本地 SQL MDF 的例子:
private void button1_Click(object sender, EventArgs e)
addToDatabase();
private void addToDatabase()
string connection = @"Server=(LocalDB)\MSSQLLocalDB;attachdbfilename=C:\Users\xxxxx\source\repos\MySolution\MyProject\MyDatabase.mdf;integrated security=True;";
SqlConnection sqlConnection = new SqlConnection(connection);
string query = "INSERT INTO Table1 " +
"(Id, Column1, Column2) " +
"VALUES (@Id, @Column1, @Column2) ";
SqlCommand cmd = new SqlCommand(query, sqlConnection);
cmd.Parameters.Add("@Id", SqlDbType.Int).Value = 1;
cmd.Parameters.Add("@Column1", SqlDbType.VarChar, 50).Value = "value1";
cmd.Parameters.Add("@Column2", SqlDbType.VarChar, 50).Value = "Value2";
try
sqlConnection.Open();
cmd.ExecuteNonQuery();
catch (Exception ex)
throw ex;
finally
sqlConnection.Close();
【讨论】:
以上是关于如何使用 C# 在 SQL Server 数据库中保存 DataGridViewComboBoxColumn的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ADO 在 C# 中获得高效的 Sql Server 死锁处理?
如何在 C# 中从 SQL Server 数据库中检索数据?
如何在 C# 控制台应用程序中使用 XmlTextReader 将 XML 数据插入 SQL Server 表?