command的executenonquery问题救急
protected void Button2_Click(object sender, EventArgs e){
string question = re.replace(this.Label1.Text.ToString());
string username = System.Web.HttpContext.Current.Session["user"].ToString();
string sql = "select count(*) from [user] where question='" + question + "' and username='" + username + "'";
SqlConnection conn = Connection.getConnection();
SqlCommand comm = new SqlCommand(sql, conn);
conn.Open();
int n = (int)comm.ExecuteNonQuery();
conn.Close();
if (n > 0)
{
333
}
else
{
666
}
}
奇怪的问题是 . 我追踪n的值.居然等于-1 .....是不是我 哪里什么弄错了啊....
按道理.我添的数据 .数据库里是存在的. 应该执行333代表的数据才对的啊
--------------------编程问答-------------------- 单步调试代码指定到这步后
string sql = "select count(*) from [user] where question='" + question + "' and username='" + username + "'";
复制里面的sql在数据库执行看结果
--------------------编程问答-------------------- 你应该用executeScalar --------------------编程问答-------------------- 针对ExecuteNonQuery,对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。 --------------------编程问答-------------------- 你应该使用 int n = (int)comm.ExecuteScalar(); --------------------编程问答-------------------- 应该是报错了吧,看一下SQL语句有没有问题 --------------------编程问答-------------------- 不好意思,我问个问题,ExecuteNonQuery()是实现什么功能的呀
补充:.NET技术 , ASP.NET