我目前正在研究与SQL-Server基础相关的C#应用程序。
这很简单,您可以通过应用程序中的某些字段在SQL表中添加或删除条目。
问题是: 在删除操作上,我做了这样的查询:
DELETE FROM table
WHERE ID = @ID
它会删除我要求删除的内容,但是如果查询在DB中没有找到任何内容会怎样? 我怎么能检测出来? 因为在这种情况下,应用程序不会删除任何内容,也不会引发异常。 为了缩短它,我想告诉用户在这种情况下没有什么可以删除。
答案 0 :(得分:11)
如果您使用的是SqlCommand
个对象,则会有一个名为 ExecuteNonQuery
的方法。该方法返回受影响的行数。所以,零意味着没有。
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
int rowsAffected = command.ExecuteNonQuery(); // <== this
}
}
答案 1 :(得分:3)
delete from table where ID=@id
select @@rowcount
这将返回实际删除的行数。你不需要存在。
答案 2 :(得分:2)
查看@@ROWCOUNT
变量