使用C#检查sql服务器数据库字段中是否存在值

时间:2018-09-18 22:45:44

标签: c# sql-server

我想创建一个方法来知道sql服务器数据库字段中是否存在值,或者不使用C#,服务器的名称为“ myServer”,数据库的名称为“ myDatabase”,表的名称是“ myTable”,字段名称是“ myField”,值是“ myValue”。我检查了以下方法,但不起作用:

public bool myValueExist(string myTable, string myField, string myValue)
{
        int result = 0;
        SqlCommand cmd = new SqlCommand("select COUNT(*) from '" + myTable + "' where'"+myField+"=@myValue", cnx);
        cmd.Parameters.AddWithValue("@myValue", myValue);
        result = (int) cmd.ExecuteScalar();
        if (result == 0) return false; 
        else  return true;
}

与sql server的连接已建立。 可以帮我一下,谢谢。

2 个答案:

答案 0 :(得分:0)

查询字符串本身一团糟。没有特定的错误消息,我无法告诉更多,但以下是显而易见的。

假设myTable = FoomyField = Bar的变量cmd将生成为

select COUNT(*) from'Foo' where'Bar=@myValue

您可以看到这是错误的。应该是

select Count(*) from Foo where Bar = @myValue

答案 1 :(得分:0)

一种可能的解决方案可能是:

SqlCommand cmd = new SqlCommand("select COUNT(*) from " + myTable + " where "+ myField + "=@myValue", cnx);

此外,在SQLConnection上使用'using',命令等也是处置资源的好方法。