我試圖解決一個項目,我從SQL數據庫中拉出一列數據並將數據與列表框中的值進行比較。到目前爲止,它正在查找比較結果,但僅返回一個值,即使在列表框中有多個匹配項。C#WinForm - 比較DataReader瓦特/列表框內容並顯示匹配
我在這裏做錯了什麼?感謝任何人可以提供的幫助。
private void btnDoAudit_Click(object sender, EventArgs e)
{
string respName = "something";
SqlDataReader reader = null;
using (SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=XXXX;Integrated Security=True;;User Instance=True"))
{
using (SqlCommand command = new SqlCommand("SELECT [Responsibility_Name] FROM [tblResponsibility] WHERE [Sensitive_Transaction]='TRUE'", conn))
{
conn.Open();
reader = command.ExecuteReader();
while (reader.Read())
{
respName = (string)reader["Responsibility_Name"];
if (lstResponsibilities.Items.Contains(respName) == true)
{
txtResults.Text = respName;
}
}
reader.Close();
conn.Close();
}
}
}
大,的作品!我知道我忽略了那麼簡單的事情。 – InnerMB
如果我拋出一個else if(lstResponsibilities.Items.Contains(respName)== false){txtResults.Text =「沒有衝突。」; } ...然後向列表框中添加一個匹配值並重新運行該方法,「不存在衝突」消息將保留並且不會被新的匹配值覆蓋。 – InnerMB
@InnerMB如果您使用+ =追加文本,請確保先清除文本。在該方法的頂部,您需要添加'txtResults.Text =「」;'或'txtResults.Text = string.Empty();'或'txtResults.Clear();' – itsme86