sql语句 取字段最大值 结果总为-1 求助 是不是数据库有问题啊?
语句如下:stringsqlstr="selectmax(idint)fromzz";SqlCommandcom=newSqlCommand(sqlstr,sqlcon)...
语句如下:string sqlstr = "select max(idint) from zz";
SqlCommand com = new SqlCommand(sqlstr, sqlcon);
int id = com.ExecuteNonQuery();
数据表记录如下: 展开
SqlCommand com = new SqlCommand(sqlstr, sqlcon);
int id = com.ExecuteNonQuery();
数据表记录如下: 展开
5个回答
展开全部
从代码看,按道理应该是返回值为1,你这个是取得受影响行数
int id = com.ExecuteNonQuery();
应该换成int id = Convter.ToInt32(com.ExcuteScalar());
如果返回值为-1的话,应该不是这些代码里面导致的,可能是因为其他你没贴出来的代码。
int id = com.ExecuteNonQuery();
应该换成int id = Convter.ToInt32(com.ExcuteScalar());
如果返回值为-1的话,应该不是这些代码里面导致的,可能是因为其他你没贴出来的代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-02-21
展开全部
你那个是不返回影响行
改为返回首行首列
即
把 int id = com.ExecuteNonQuery();
改为 int id=com.ExcuteScalar();
改为返回首行首列
即
把 int id = com.ExecuteNonQuery();
改为 int id=com.ExcuteScalar();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用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());
}
}
部分代码.
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());
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将你的 这段sql 到数据库里面去执行,看一下报错和结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询