【发布时间】:2020-02-01 12:07:22
【问题描述】:
我正用这个把头撞到墙上。我正在尝试为我的数据库中的表创建搜索功能。我希望能够按 ID 和名字 + 姓氏进行搜索。
ID 搜索功能完美:
if (is_id_search)
{
for (int i = 0; i < rowcount; i++)
{
if (table.Rows[i][0].ToString() == searched_id)
{
MessageBox.Show("Student With ID: " + searched_id + " Found", "", MessageBoxButtons.OK);
display_searched_info(table.Rows[i]);
break;
}
else
{
if (i == (rowcount - 1))
{
MessageBox.Show("SEARCH FAILED: Student ID Not Found!", "Search Failed!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}
但是当我尝试按名称搜索时,它无法匹配输入字符串和表中的值,我什至设置了一个 MessageBox 以在 for 循环的每次迭代中弹出显示 row[i][column].ToString() 和它输出我正在搜索但仍然显示未找到的名称(代码如下):
else
{
for (int i = 0; i < rowcount; i++)
{
MessageBox.Show(table.Rows[i][1].ToString());
if (table.Rows[i][1].ToString() == searched_Fname)
{
MessageBox.Show("Student By Name Of: " + searched_Fname + " Found!", "Success!", MessageBoxButtons.OK);
break;
}
else
{
if (i == (rowcount - 1))
{
MessageBox.Show("Student By The Name Of: " + searched_Fname + " " + searched_Lname + " Not Found",
"Search Failed!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}
非常感谢任何帮助/建议(下面有几个屏幕截图)
【问题讨论】:
-
你可能有空格吗?
-
是的,做到了。我不敢相信这是这么简单的事情哈哈。我一直在情绪激动的过山车上试图让它发挥作用
-
最好让你的数据库做比较,SQL在大多数比较中会忽略尾随空格。