asp.net EXECUTENONQUERY()返回值介绍
executenonquery()方法主要用户更新数据,通常它使用update,insert,delete语句来操作数据库,其方法返回值意义:对于 update,insert,delete 语句 执行成功是返回值为该命令所影响的行数,如果影响的行数为0时返回的值为0,如果数据操作回滚得话返回值为-1,对于这种更新操作 用我们平时所用的是否大于0的判断操作应该没有问题而且比较好,但是对于其他的操作如对数据库结构的操作,如果操作成功时返回的却是-1,这种情况跟我们平时的思维方式有点差距所以应该好好的注意了,例如对数据库共添加一个数据表的create操作,当创建数据表成功时返回-1,如果操作失败的话(如数据表已经存在)往往会发生异常,所以执行这种操作时最好用try--catch--语句来容错。
例如用executenonquery()方法执行create操作
[code]
sqlconnection conn = new sqlconnection("data source=.;initial catalog=psdb;integrated security=sspi");
string str = "create table aaa ( " +
"[id] [int] identity (1, 1) not null , " +
"[basicid] [int] null ," +
"[adoptedname] [varchar] (50) collate chinese_prc_ci_as null ," +
"[adoptedsex] [char] (2) collate chinese_prc_ci_as null ," +
"[adoptbirthday] [smalldatetime] null ," +
"[adoptedtype] [varchar] (100) collate chinese_prc_ci_as null ," +
"[apprtime] [smalldatetime] null ," +
"[remark] [varchar] (500) collate chinese_prc_ci_as null " +
") on [primary] ";
sqlcommand comm = new sqlcommand(str, conn);
int i = 10;
try
{
conn.open();
i = comm.executenonquery();
conn.close();
}
catch (exception ex)
{
response.write(ex.message);
}
response.write(i.tostring());
[code]
如果执行成功的话 返回的值为-1,如果数据表已经存在的话返回异常:数据库中已存在名为 'aaa' 的对象。
下一篇: vuex