为什么我的 ExecuteNonQuery 总是 return 一个大于 0 的值

Why does my ExecuteNonQuery alway return a value more than 0

你好我现在正在编写一个搜索框,它将从 sql 获取数据并检查是否有任何此类数据但是当我 运行 我的代码

public void checkValues()
    {
        using (connection = new SqlConnection(connectionString))
        using (SqlCommand cmdMovname = new SqlCommand("select Film_name from product where Film_name like'%the value here is not in the sql data %'", connection))
        {
            connection.Open();

            if (cmdMovname.ExecuteNonQuery() != 0)
            {
                SetValues();
                find = "Search result for \"the value here is not in the sql data\"";
            }
            else if (cmdMovname.ExecuteNonQuery() == 0)
            {
                find = "Sorry , no search result for \"the value here is not in the sql data\"";
            }

        }
    }

查找的字符串值总是"Search result for \"这里的值不在sql数据中\"" 有人可以帮我解决这个问题吗,因为我刚开始使用 sql 数据库

尝试改用 ExecuteReader。您正在尝试执行查询,但使用的是 ExecuteNonQuery 函数,在这种情况下它将 return -1。

Reference.