sql语句 取字段最大值 结果总为-1 求助 是不是数据库有问题啊?

语句如下:string sqlstr = "select max(idint) from zz";
SqlCommand com = new SqlCommand(sqlstr, sqlcon);
int id = com.ExecuteNonQuery();
数据表记录如下:

第1个回答  2012-02-21
从代码看,按道理应该是返回值为1,你这个是取得受影响行数
int id = com.ExecuteNonQuery();
应该换成int id = Convter.ToInt32(com.ExcuteScalar());

如果返回值为-1的话,应该不是这些代码里面导致的,可能是因为其他你没贴出来的代码。
第2个回答  2012-02-21
你那个是不返回影响行
改为返回首行首列

把 int id = com.ExecuteNonQuery();
改为 int id=com.ExcuteScalar();本回答被提问者采纳
第3个回答  2012-02-22
使用ExecuteScalar()执行SQL语句,返回第一行第一列,ExecuteScalar()一般执行聚合查询。

部分代码.
string sqlstr = "select max(idint) from zz";
using (SqlConnection conn = new SqlConnection(sqlConn)
{
using(SqlCommand cmd = new SqlCommand(sqlstr, conn))
{
conn.Open();
int id = Convert.ToInt32(cmd.ExecuteScalar());
}
}
第4个回答  2012-02-21
将你的 这段sql 到数据库里面去执行,看一下报错和结果。
第5个回答  2012-02-21
不是吧

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网