如何在C#中将foreach循环中的所有值都转换为数据库。避免多次进入数据库表

时间:2018-02-13 17:52:20

标签: c# sql-server database for-loop

我打算做的是将值插入SQL数据库表。首先,让我解释一下这个流程。我在表单上生成动态文本框。接下来,在插入来自其他文本框和组合框的所有值时,我没有任何问题。但要从动态创建的文本框中手动输入所有值对我来说是一个挑战。我设法使用以下代码修复它。

        foreach (TextBox textbox in this.panel1.Controls.OfType<TextBox>())
        {
            string message_0 = "";
            message_0 = textbox.Text.ToString();

        } 

但是当我使用插入查询将值插入数据库时​​,我面临数据库的问题。如果我在sql命令之后放置for循环花括号,那么该值也会插入其他列的重复。

        foreach (TextBox textbox in this.panel1.Controls.OfType<TextBox>())
        {
            string message_0 = "";
            message_0 = textbox.Text.ToString();





        SqlCommand cmd = con.CreateCommand();
                    cmd.CommandType = CommandType.Text;
                    string a = "insert into new_product (name, description, image, fk_type, date, reference, field_value) values ('" + textBox3.Text + "', '" + richTextBox1.Text + "' ,@images ,'" + comboBox1.SelectedValue.ToString() + "',  '" + dateTimePicker1.Value.ToString("dd-mm-yy") + "','" + textBox1.Text + "', '" + message_0 + "') ";
                    cmd.CommandText = a;
                    cmd.Parameters.Add(new SqlParameter("@images", images));
                    cmd.ExecuteNonQuery();
                    table_update();

          }

在这种情况下是正常还是我在这里做错了什么任何帮助将不胜感激。谢谢。

enter image description here

0 个答案:

没有答案