列表框:多个值未更新

时间:2014-10-21 09:27:24

标签: c# listbox

我有一个窗口形式的2个列表框,一个在左边,一个在右边。第一个列表框包含一些项目,而第二个列表框为空。 2个列表框之间还有2个按钮,用于将项目从/向第1和第2个列表框移动

我的问题是,在我将数据绑定到第一个列表框(从数据库,使用DisplayMember和ValueMember)之后,我尝试将项目中的一个从第一个列表框移动到第二个列表框,我想要更新桌子。使用for循环我更新db中的值。但它只是更新单个值而不是多个值

private void btnMoveRight_Click(object sender, EventArgs e)
        {

            string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
            using (SqlConnection con = new SqlConnection(CS))
                try
                {

                    SqlCommand sqlcmd = new SqlCommand("USP_UpdateJobTracker_Box", con);
                    sqlcmd.CommandType = CommandType.StoredProcedure;
                    sqlcmd.Parameters.AddWithValue("@BoxName", "");
                    sqlcmd.Parameters.AddWithValue("@Jobname", "");
                    con.Open();
                    for (int x = 0; x <= lstUnAssignedJobs.SelectedItems.Count-1; x++)
                    {
                        if (lstUnAssignedJobs.GetSelected(x) == true)
                        {
             sqlcmd.Parameters[0].Value = listWBox.GetItemText(listWBox.SelectedValue);
             string s = lstUnAssignedJobs.SelectedItems.ToString();
                            string selectedItem = lstUnAssignedJobs.Items[x].Text;
                            sqlcmd.Parameters[1].Value = lstUnAssignedJobs.GetItemText(lstUnAssignedJobs.Items[x].ToString());----here is red redline
                            sqlcmd.ExecuteNonQuery();

                        }

                    }

                    AssignedJobToBox(listWBox.SelectedValue.ToString());

                }

                catch (Exception ex)
                {

                    MessageBox.Show("exception raised");

                }

                finally
                {

                    con.Dispose();
                    con.Close();

                }

提前致谢

1 个答案:

答案 0 :(得分:0)

这对我没有任何意义:

 sqlcmd.Parameters[1].Value = lstUnAssignedJobs.GetItemText(lstUnAssignedJobs.Items[x].ToString());----here is red redline

你可以这样做吗?

 sqlcmd.Parameters[1].Value = lstUnAssignedJobs.Items[x].Text.ToString();

如果你能进一步解释,将不胜感激