【问题标题】:Textbox and Datagridview Combine then Send to Mysql C# VisualStudio Code文本框和 Datagridview 组合然后发送到 Mysql C# Visual Studio 代码
【发布时间】:2021-07-16 05:29:36
【问题描述】:

谁能帮助我,我不知道如何在 C# 中组合文本框和数据网格

我有一个文本框

Example
Transaction No 123456
Name Jonjon Candare
Section IT Staff
DateNeeded 2021-04-21

然后我有一个数据网格视图

QTY ITEM DESC AMOUNT
1 CD $3
1 DVD $250

我希望这两者结合 datagridview 中的项目和 MYSQL 中所需的 transactionno、name、section 和 date

在mysql中得到这个

Transaction No Name Section DateNeeded QTY ITEM DESC AMOUNT
123456 Jonjon Candare IT Staff 2021-04-21 1 CD $3
123456 Jonjon Candare IT Staff 2021-04-21 1 DVD $250

任何人都可以帮我在代码中提供任何 C# 示例,比如这个

【问题讨论】:

    标签: c# mysql visual-studio datagridview


    【解决方案1】:

    请尝试以下代码将文本框和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", "$3");
                dataGridView1.Rows.Add("1", "DVD", "$250");
            }
    

    另外,我使用以下 sql 语句创建表。

     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 
    )
    

    最后一点,我不建议你创建包含空格的文件名,比如Transaction No,这样可能会导致sql错误。所以我把它改成了Transaction_No

    测试结果:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      • 2020-07-27
      • 1970-01-01
      • 2014-05-25
      • 2013-04-19
      • 2017-09-04
      相关资源
      最近更新 更多