将listbox项插入sql server数据库

-4 c# asp.net sql-server-2008

我使用此代码在listbox1中插入数据:

if (!IsPostBack)
        {
            DataTable dt = new DataTable();
            string query = "SELECT * FROM [Qualification]";
            SqlDataAdapter objda = new SqlDataAdapter(query, conn);
            //conn.Open();
            objda.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                ListBox1.DataSource = dt;
                ListBox1.DataTextField = "QDesc";
                ListBox1.DataValueField = "QID";
                ListBox1.DataBind();
            }
        }
Run Code Online (Sandbox Code Playgroud)

这些项目listbox2按钮点击进入

按钮点击代码是:

protected void Button1_Click1(object sender, EventArgs e)
    {
         string strItemText = "";
        string strItemValue = "";
        foreach (ListItem listItem in ListBox1.Items)
        {
            if (listItem.Selected == true)
            {
                strItemValue += listItem.Text; 
                 }
        }

        ListBox2.Items.Add(strItemText+""+ strItemValue);
        ListBox1.Items.Remove(ListBox1.SelectedItem);

    }
Run Code Online (Sandbox Code Playgroud)

一切都很合适,直到这里..

我想要的项目listbox2应该填入数据库表....任何人都可以帮助建议相同的代码

Mik*_*oud 5

当然,你可以这样做:

using (SqlConnection c = new SqlConnection("your connection string"))
{
    c.Open();
    using (SqlCommand cmd = new SqlCommand("INSERT INTO table (field1, field2) VALUES (@field1, @field2)")
    {
        foreach (ListItem item in listbox2.Items)
        {
            cmd.Parameters.Clear();
            cmd.Parameters.AddWithValue("@field1", item.Value);
            cmd.Parameters.AddWithValue("@field2", item.Text);

            cmd.ExecuteNonQuery();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在显然INSERT我提供的声明会有所不同,你添加的参数会有所不同,也许你不需要ValueText,但是你明白了.