从列表框添加到数据库

Adding from a Listbox to database

我有一个输入数字的文本框和一个名为添加的按钮,用于输入列表框中的数字。当我点击一个按钮完成添加所有想要的数字后,添加数据库列表框中的内容。

我的数据库 table 是带有 ID IDnumber NAME 的数字。

IDnumber = 当我从数据库中的列表框中添加多个号码时,我希望所有号码都具有相同的 ID。

例如在我的列表中我有

并且在我的数据库中有

     ID   IDnumber     NAME                  

      1        1        45341                 
      1        1         5466            
      1        1        4646             
      1        1         464

下次我将从列表框中添加时,下一个数字将有 IDnumber 2.

    <asp:TextBox ID="txtNrShipment" runat="server" Height="16px"  Width="100px"></asp:TextBox>
<asp:Button ID="btnAddSO" runat="server" Text="Add" OnClick="btnAddSO_Click" CausesValidation="False" />
 <asp:ListBox ID="ListBoxSO" runat="server">               
                </asp:ListBox>


<asp:Button ID="btnFinalizeSO" runat="server" Text="Finalize" OnClick="btnFinalizeSO_Click" />



  protected void btnAddSO_Click(object sender, EventArgs e)
    {
        ListBoxSO.Items.Add(txtNrShipment.Text);
        txtNrShipment.Text = " ";
    }

你应该阅读和学习基本的 ADO.NET 来做到这一点,简单的插入实现是这样的(代码没有测试,你需要使用循环来做你想做的,但这个例子只是一个基本插入。):

string connectionString = "yourConnectionString";
string query = "INSERT INTO dbo.YourTable (ID, IDnumber, NAME) " + 
               "VALUES (@Id, @IDnumber, @Name) ";

// create connection and command
using(SqlConnection cn = new SqlConnection(connectionString))
using(SqlCommand cmd = new SqlCommand(query, cn))
{
    // define parameters and their values
    cmd.Parameters.Add("@ID", ID);
    cmd.Parameters.Add("@IDnumber", IDnumber);
    cmd.Parameters.Add("@Name", Name); 

    //open, insert and close
    cn.Open();
    cmd.ExecuteNonQuery();
    cn.Close();
}

您没有提供btnFinalizeSO 的点击事件的实际代码。如果您还没有,那么您必须实施的第一步是连接到您的数据库,例如 Entity Framework。如果您使用 Entity Framework 连接,您可以从数据库创建 table 的对象以将它们注入数据库。 例如:

protected void btnFinalizeSO_Click(object sender, EventArgs e)
{
    using(MyDataBaseEntities db = new MyDataBaseEntities())
   {
       Number lastNumber = (from c in db.Number orderby IDNumber select c).LastOrDefaul();
       foreach(var item in ListBoxSO.Items)
       {

            Number n = new Number();
            n.IdNumber = lastNumber.IdNumber +1; 
            n.Id = lastNumber.Id + 1;
            n.Name = ListBoxSO.GetItemText(item);
            db.Number.Add(n);
       }
      db.SaveChanges();
   }
}

这或多或少是您所需要的。捕获异常可能是件好事。