-4

我正在使用以下代码在 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();
            }
        }

这些项目将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);

    }

到这里为止一切都正常..

我希望中的项目listbox2应该填充到数据库表中....任何人都可以帮助建议相同的代码

4

1 回答 1

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();
        }
    }
}

现在显然INSERT我提供的语句会有所不同,您添加的参数也会有所不同,也许您不需要ValueText,但您明白了。

于 2013-06-07T12:23:12.513 回答