日期:2014-05-16  浏览次数:21023 次

C# SQL语句的一些问题
大虾们,
myCommand.CommandText = "SELECT * FROM warnTable WHERE NAME='" + s.NAME + "'";

这句话如果在数据库中没有s.NAME这个数据会返回什么呢?
查询语句我记得没有
myCommand.ExecuteNonQuery();
的吧?
还有我要删除表中全部数据
myCommand.CommandText = "truncate table warnTable";

执行完怎么判断执行正确是否都删除呢?
------解决方案--------------------
ExecuteNonQuery  只对Insert ,update,delete返回被执行的记录数

2,删除记录用
delete From warnTable
------解决方案--------------------
ExecuteNonQuery()//返回影响行数
ExecuteScalar()//返回查询结果的第一行第一列
------解决方案--------------------
这些试试就知道了
没有where匹配的,返回0记录,但是列头是有的
删除用delete from 表,调用ExecuteNonQuery返回影响的行数,可以调用后再执行查询判断是否为0行

------解决方案--------------------
引用:
Quote: 引用:

ExecuteNonQuery  只对Insert ,update,delete返回被执行的记录数

2,删除记录用
delete From warnTable

我用truncate table warnTable这个语句不是删除warnTable表里所有数据了嘛?


truncate会把表结构全部清除,而delete只是删除表中的数据
------解决方案--------------------
引用:
Quote: 引用:

ExecuteNonQuery  只对Insert ,update,delete返回被执行的记录数

2,删除记录用
delete From warnTable

我用truncate table warnTable这个语句不是删除warnTable表里所有数据了嘛?


也是可以的,只是会重置标识