查询回来的记录行数为什么总是负值
查询返回的记录行数为什么总是负值
查询判断表中是否有同一字段值的记录,有和没有时,跟踪到的N值都是负一,为什么啊,找不到原因在哪
------解决思路----------------------
cmd.ExecuteNonQuery()
->
cmd.ExecuteScalar();
------解决思路----------------------
楼上曹版正解,cmd.ExecuteNonQuery是返回受影响的行数,也就是增加,删除或者修改时候才能正确跟踪,你这个是查询,应该返回第一行第一列,用ExecuteScalar
查询判断表中是否有同一字段值的记录,有和没有时,跟踪到的N值都是负一,为什么啊,找不到原因在哪
bool CheckSbname(string sbname)
{
bool check = true;
using (SqlConnection conn = new SqlConnection(DBCSring.connString))
{
string sql = string.Format("select count(*) from Tb_Worktime where WtSbname='{0}'", sbname);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
int n = Convert.ToInt32(cmd.ExecuteNonQuery());
if (n >0)
{
MessageBox.Show("记录已存在!");
check = false;
}
}
return check;
}
------解决思路----------------------
cmd.ExecuteNonQuery()
->
cmd.ExecuteScalar();
------解决思路----------------------
楼上曹版正解,cmd.ExecuteNonQuery是返回受影响的行数,也就是增加,删除或者修改时候才能正确跟踪,你这个是查询,应该返回第一行第一列,用ExecuteScalar