[英]How save DataGridViewComboBoxColumn in SQL Server database using C#
我將開發學校管理系統,並希望使用保存按鈕將 class 中每個學生的出勤記錄保存在數據庫中。
我的意思是當按下“保存”按鈕時設置所有學生記錄,例如存在、缺席或將保存記錄留在數據庫中。
這是我的代碼 - 當我更改第一個學生的單元格時它可以工作
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;
}
}
您可能想要設置類似 Entity Framework 的東西來處理數據庫功能。 這篇文章已經有好幾年了,但我認為它可能會讓你上路: Entity-Framework-Tutorial-for-Beginners
此外,通常,您希望將 DB 層與表示層分開。 但是,如果您願意,您可以設置自己的連接字符串並編寫自己的 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();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.