簡體   English   中英

如何使用 C# 在 SQL 服務器數據庫中保存 DataGridViewComboBoxColumn

[英]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。 為此,您基本上需要:

  1. 設置連接字符串
  2. 創建 SQL 語句
  3. 打開SQL連接
  4. 調用 SQL 命令
  5. 關閉連接

一個非常簡單的示例連接到項目內的本地 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM