首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

为什么这条语句查询没有结果?解决思路

2012-01-09 
为什么这条语句查询没有结果?stringcoonStrProviderMicrosoft.Jet.OLEDB.4.0DataSource +Server.Map

为什么这条语句查询没有结果?
string   coonStr   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= "   +   Server.MapPath( "db.mdb ");

string   insertCmd   =   "SELECT   *   FROM   admin ";

OleDbConnection   connect   =   new   OleDbConnection(coonStr);
connect.Open();
OleDbCommand   cmd   =   new   OleDbCommand(insertCmd,   connect);
int   i=cmd.ExecuteNonQuery();      

db.mdb里有admin表   且表里面也有记录.
为什么i的值总是为零?

[解决办法]
虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。

对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。

这是msdn的说明,但是我实际使用当中一般返回是0,不知何故


[解决办法]
用个DATAREAD接收下,看有无数据
[解决办法]
查询是不会返回影响行数的
只有增加,删除,更新才会有返回
[解决办法]
呵呵.你用EXECUTENONQUERY来返回查询后的东东,肯定是得不到的了,
用READER,或者DATASET来接啦.因为要得到的是数据源,要用可以充当数据源的容器来接方可.
[解决办法]
cmd.ExecuteNonQuery();
这个方法返回的值,只是针对更新,删除,插入SQL语句,查一下MSDN就知道了

热点排行