我想创建一个方法来知道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的连接已建立。 可以帮我一下,谢谢。
答案 0 :(得分:0)
查询字符串本身一团糟。没有特定的错误消息,我无法告诉更多,但以下是显而易见的。
假设myTable = Foo
和myField = 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',命令等也是处置资源的好方法。