我目前正在完善与 SQL-Server 基础相关的 C# 应用程序。
这很简单,您可以通过应用程序中的某些字段在 SQL 表中添加或删除条目。
问题是:在删除操作中,我进行了这种查询:
DELETE FROM table
WHERE ID = @ID
它删除了我要求它删除的内容,但是如果查询在数据库中找不到任何内容怎么办?我怎样才能检测到呢?因为在这种情况下,应用程序不会删除任何内容,也不会引发异常。简而言之,我只想告诉用户在这种情况下没有什么可删除的。
如果您使用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
}
}
delete from table where ID=@id
select @@rowcount
这将返回实际删除了多少行。你不需要存在。
看看@@ROWCOUNT
变量