文本框和 Datagridview 组合然后发送到 Mysql C# VisualStudio 代码

Textbox and Datagridview Combine then Send to Mysql C# VisualStudio Code

任何人都可以帮助我我不知道如何在 C# 中组合文本框和数据网格

我有一个

的文本框
Example
Transaction No 123456
Name Jonjon Candare
Section IT Staff
DateNeeded 2021-04-21

然后我有一个 datagridview

QTY ITEM DESC AMOUNT
1 CD
1 DVD 0

我希望两者结合 datagridview 中的项目和 MYSQL

中所需的事务编号、名称、部分和日期

在 mysql

中得到这个
Transaction No Name Section DateNeeded QTY ITEM DESC AMOUNT
123456 Jonjon Candare IT Staff 2021-04-21 1 CD
123456 Jonjon Candare IT Staff 2021-04-21 1 DVD 0

任何人都可以在代码中帮助我吗?任何 C# 样本都像这样

请尝试以下代码将textbox和datagirdview中的数据合并并插入到数据库中。

private void button1_Click(object sender, EventArgs e)
        {
            string constr = @"";
            MySqlConnection connection = new MySqlConnection(constr);
            connection.Open();
            string sqlcommand = "insert into Product(Transaction_No,Name,Section,DateNeeded,QTY,ITEM_DESC,AMOUNT) values(@Transaction_No,@Name,@Section,@DateNeeded,@QTY,@ITEM_DESC,@AMOUNT)";
            MySqlCommand command = new MySqlCommand(sqlcommand, connection);
            for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
            {
                command.Parameters.AddWithValue("@QTY", Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value));
                command.Parameters.AddWithValue("@ITEM_DESC", dataGridView1.Rows[i].Cells[1].Value.ToString());
                command.Parameters.AddWithValue("@AMOUNT", dataGridView1.Rows[i].Cells[2].Value);
                command.Parameters.AddWithValue("@Transaction_No", Convert.ToInt32(txtNo.Text));
                command.Parameters.AddWithValue("@Name", txtName.Text);
                command.Parameters.AddWithValue("@Section", txtsection.Text);
                command.Parameters.AddWithValue("@DateNeeded", Convert.ToDateTime(txtDate.Text));
                
                command.ExecuteNonQuery();
                command.Parameters.Clear();
            }
            MessageBox.Show("success");
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            txtNo.Text = "123456";
            txtName.Text = "Jonjon Candare";
            txtsection.Text = "IT Staff";
            txtDate.Text = "2021-04-21";
            dataGridView1.Columns.Add("col1", "QTY");
            dataGridView1.Columns.Add("col2", "ITEM DESC");
            dataGridView1.Columns.Add("col3", "AMOUNT");
            dataGridView1.Rows.Add("1", "CD", "");
            dataGridView1.Rows.Add("1", "DVD", "0");
        }

此外,我使用以下 sql 句子创建了 table。

 CREATE TABLE [dbo].[Product]
(
    [Transaction_No] INT NULL, 
    [Name] NVARCHAR(50) NULL, 
    [Section] NVARCHAR(50) NULL, 
    [DateNeeded] DATE NULL, 
    [QTY] INT NULL, 
    [ITEM_DESC] NVARCHAR(50) NULL, 
    [AMOUNT] NVARCHAR(50) NULL 
)

最后一点,我不建议你创建包含space的文件名,比如Transaction No,这可能会导致sql错误。所以我将其更改为 Transaction_No.

测试结果: