在 C# 中执行非查询结果

本文关键字:查询 结果 执行 | 更新日期: 2023-09-27 18:36:25

如何知道我是否成功创建数据库?我正在使用"CREATE DATABASE DemoDB"作为SQL命令。 ExecuteNonQuery()方法返回 0。如果我成功创建了数据库,我应该使用什么来了解?

在 C# 中执行非查询结果

正如 MSDN 所说:

对于 UPDATE、INSERT 和 DELETE 语句,返回值为 受命令影响的行数。当触发器存在于 正在插入或更新的表,返回值包括数字 受插入或更新操作和数量影响的行数 受一个或多个触发器影响的行数。对于所有其他类型的 语句,返回值为 -1。如果发生回滚,则返回 值也是 -1。

ExecuteNonQuery 将为 CREATE DATABASE 命令返回 0,因为它返回查询更改的

如果数据库存在,这将返回一些行:

SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'DemoDB'

如果出现错误,ExecuteNonQuery会抛出MySqlException异常。如果成功,则返回 0,但您无需检查返回值;如果它正常返回,则成功。例如,这是我尝试创建已存在的数据库时遇到的异常:

无法创建数据库"名称";数据库存在