下面是对Microsoft site中ExecuteNonQuery返回值的描述
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery%28v=vs.110%29.aspx
映射到参数的返回值由数据填充。对于
受命令影响的行数。当表上存在触发器时
在插入或更新时,返回值包括
受插入或更新操作和
受一个或多个触发器影响的行。对于所有其他类型的
string sql = @" DROP TABLE IF EXISTS `sf_root_items`;
CREATE TABLE `sf_root_items` (
`ID` varchar(255) NOT NULL,
`LoweredName` varchar(255) DEFAULT NULL,
`MenuName` varchar(255) DEFAULT NULL,
`Title` varchar(255) DEFAULT NULL,
`Description` text,
`PageType` varchar(255) DEFAULT NULL,
`ExternalUrl` varchar(255) DEFAULT NULL,
PRIMARY KEY(`ID`)
)";
string sql_check = @" SELECT count(*)
FROM information_schema.TABLES
WHERE (TABLE_NAME = 'sf_root_items')
AND (TABLE_SCHEMA = '" + WP_db.Text +"')";
MySqlCommand cmd;
try
{
if (myConnection.State != ConnectionState.Open)
{
myConnection.Close();
myConnection.Open();
}
cmd = myConnection.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
//call check if table was created
cmd = myConnection.CreateCommand();
cmd.CommandText = sql_check;
var test = cmd.ExecuteScalar();
int output;
int.TryParse(test.ToString(), out output);
// a value greater than 0 means execution was successful
if (output > 0)
{
DBPrepDone = "Table 'sf_root_items' has been created";
}
else
{
DBPrepDone = "There was an error";
}
myConnection.Close();
}
catch (Exception ex)
{
DBPrepDone = ex.ToString();
}