C#中的ExecuteNonQuery结果

时间:2012-06-05 08:46:50

标签: c# mysql executenonquery

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

3 个答案:

答案 0 :(得分:2)

正如MSDN所说:

  

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

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:1)

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

无法创建数据库'name';数据库存在