在一列数据库中添加多个TextBox

时间:2016-08-17 06:36:43

标签: c# visual-studio ms-access

我正在创建一个可以一键添加多个项目的库存系统。我怎么能这样做?我已经可以保存数据,但只能保存一个文本框。

(?=...)

假设我有另一个//Add new Data if Item Code is not exit; { OleDbCommand cmdInsert = new OleDbCommand(@"insert into TblInventory (ItemCode,ProductName,Quantity,DateAndTime) values ('" + txtItem.Text + "','" + txtProduct.Text + "','" + txtQuantity.Text + "','" + time + "')"); cmdInsert.Connection = con; cmdInsert.ExecuteNonQuery(); MessageBox.Show("You added New " + txtQuantity.Text + " " + txtProduct.Text + " in the list", "New Item"); } con.Close(); txtItem2txtProduct2的文本框。我在哪里可以找到txtQuantity2上的那些?

2 个答案:

答案 0 :(得分:1)

首先,使用参数而不是字符串连接,如下所示:

OleDbCommand cmdInsert = new OleDbCommand(
    @"insert into TblInventory (ItemCode,ProductName,Quantity,DateAndTime) values (@ItemCode,@ProductName,@Quantity,@DateAndTime)");
cmdInsert.Parameters.AddWithValue("ItemCode", txtItem.Text);
cmdInsert.Parameters.AddWithValue("ProductName", txtProduct.Text);
cmdInsert.Parameters.AddWithValue("Quantity", txtQuantity.Text);
cmdInsert.Parameters.AddWithValue("DateAndTime", time);

其次,如果您需要许多插入,请使用循环。或者,使用四个参数ItemCode,ProductName,Quantity,DateAndTime将您的插入代码包装在函数中。使用它们而不是直接引用txtSomething.Text值,即(伪代码):

InsertRecord(txtItem.Text, txtProduct.Text, ...);
InsertRecord(txtItem2.Text, txtProduduct2.Text, ...);

For循环你可以写如下:

var rows = new[]
{
    new {Item = "item1" /*value from txtItem1*/, Product = "product1", Quantity = "Quantity1" /*should be int?*/},
    new {Item = "item2" /*value from txtItem2*/, Product = "product2", Quantity = "Quantity2"}
};

foreach (var row in rows)
{
    OleDbCommand cmdInsert = new OleDbCommand(
        @"insert into TblInventory (ItemCode,ProductName,Quantity,DateAndTime) values (@ItemCode,@ProductName,@Quantity,@DateAndTime)");
    cmdInsert.Parameters.AddWithValue("ItemCode", row.Item);
    cmdInsert.Parameters.AddWithValue("ProductName", row.Product);
    cmdInsert.Parameters.AddWithValue("Quantity", row.Quantity);
    cmdInsert.Parameters.AddWithValue("DateAndTime", DateTime.Now);
    cmdInsert.Connection = conn;
    cmdInsert.ExecuteNonQuery();
}

答案 1 :(得分:0)

您可以创建一个接受xml作为输入参数的存储过程,然后在存储过程中ypu将解析xml并将数据插入表中,