我有一个窗口形式的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();
}
提前致谢
答案 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();
如果你能进一步解释,将不胜感激