求助sqlhelper 使用的问题
为什么我在调用sqlhelper做登录时总提示登录密码错误,我已确认账号密码没有问题的了,各位大侠帮忙看下,成分感谢。sqlhelper --------------------编程问答-------------------- 顶上去啊,求助下各位大侠 --------------------编程问答-------------------- 断点调试下,把SQL语句直接复制到数据库执行一下看下结果 --------------------编程问答-------------------- SqlHelper.ExecuteReader --------------------编程问答-------------------- 你调用函数那里if判断就有问题 --------------------编程问答-------------------- SqlHelper.ExecuteNonQuery 没有过SqlHelper,但是ExecuteNonQuery 貌似是执行增删改的命令吧? 你的sql 不是写着返回 指定用户名和密码的那条数据吗?管增删改什么事? --------------------编程问答-------------------- ExecuteNonQuery执行一个SqlCommand返回操作影响的行数,这个多半是判断操作是否成功的,例如插入删除和更新操作,如果影响行数为0的话,则证明操作是不成功的。大于0证明操作成功 --------------------编程问答-------------------- 你的SqlHelper.ExecuteNonQuery 和ExecuteScalar是不是相同,ExecuteNonQuery是执行Insert,Update,Delete
protected bool checkLogin()
{
string sql = "select * from manager where username=@UserName and pwd=@Password";
SqlParameter[] parameters = { new SqlParameter("@UserName", SqlDbType.VarChar, 50), new SqlParameter("@Password", SqlDbType.VarChar, 50) };
parameters[0].Value = txtUserName.Text.Trim();
parameters[1].Value = txtPassword.Text.Trim();
//定义对象资源保存的范围,一旦using范围结束,将释放对方所占的资源
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
//打开连接
conn.Open();
//调用执行方法
int i = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sql, parameters);
if (i > 0)
{
return true;
}
else
{
return false;
}
}
}
//调用函数
if (this.txtPassword.Text == ""||this.txtUserName.Text=="")
{
txtUserName.Focus();
MessageBox.Show("请输入账号和密码!");
}
if (checkLogin())
{
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
txtUserName.Text = "";
txtPassword.Text = "";
txtUserName.Focus();
MessageBox.Show("账号或者密码错误!");
}
而ExecuteScalar是执行select语句
补充:.NET技术 , C#