我遇到了问题,需要你的帮助。 这是我的主窗口:
我用我的Sql Server 2012数据库中的表tbl_Training填充comboBox。 在SelectionChange上,我得到了ID并填写了ListBox:
string selectedValue = Convert.ToString(comboTraining.SelectedValue);
string sqlStrGridFill = @"SELECT (P.FirstName + ' ' + P.LastName) as Name
FROM tbl_Participant P
INNER JOIN tbl_Training T
ON P.ID_Training = T.ID_Training
WHERE P.ID_Training ="+ selectedValue +";";
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(sqlStrGridFill, conn);
DataTable dt = new DataTable();
da.Fill(dt);
lbParticipantList.ItemsSource = dt.DefaultView;
lbParticipantList.DisplayMemberPath = Convert.ToString(dt.Columns["Name"]);
lbParticipantList.SelectedValuePath = "ID_Participant";
conn.Close();
现在我想从ListBox获取SelectChange上的ID_Participant。 我尝试了很多东西。这是我的第一次也是最后一次尝试:
string selectedValue = Convert.ToString(lbParticipantList.SelectedValue);
selectedValue =“”
......可悲的是,它必须工作到tommorow。
答案 0 :(得分:2)
您没有任何名为" ID_Participant"的列。在SQL的结果中。
SQL的第一行应该是
SELECT ID_Participant, (P.FirstName + ' ' + P.LastName) as Name
这就是你每次都得到一个空字符串的原因。