【问题标题】:Searching for string in SQL table (Visual Studio C#)在 SQL 表中搜索字符串 (Visual Studio C#)
【发布时间】: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);
                    }
                }
            }
        }

非常感谢任何帮助/建议(下面有几个屏幕截图)

output string from searched column

error message

【问题讨论】:

  • 你可能有空格吗?
  • 是的,做到了。我不敢相信这是这么简单的事情哈哈。我一直在情绪激动的过山车上试图让它发挥作用
  • 最好让你的数据库做比较,SQL在大多数比较中会忽略尾随空格。

标签: sql database search


【解决方案1】:

您是否尝试过更改字符串的 (table.Rows[i][0].ToString() == searched_Fname)

【讨论】:

    猜你喜欢
    • 2012-08-27
    • 2010-11-17
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    相关资源
    最近更新 更多