2

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

4

3 回答 3

2

正如 MSDN 所说:

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

于 2012-06-05T08:49:14.920 回答
2

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

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

SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'DemoDB'
于 2012-06-05T08:55:28.773 回答
1

如果出现错误,ExecuteNonQuery 会抛出 MySqlException 异常。如果成功则返回 0 但您不需要检查返回值;如果正常返回就成功了。例如,当我尝试创建一个已经存在的数据库时,我得到了一个例外:

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

于 2017-05-24T09:23:56.000 回答