ado.net问题

来源:百度知道 编辑:UC知道 时间:2024/06/11 17:39:52
public int ValidateUser(string username, string password)
{
SqlConnection con = new SqlConnection();
con.ConnectionString =
ConfigurationManager.ConnectionStrings["aaConnectionString"].ConnectionString;
con.Open();
string sql = "Select * from [formss] Where Username='" + username + "' and Userpass='" + password + "' ";
SqlCommand com = new SqlCommand(sql, con);

//返回结果
int ss = com.ExecuteNonQuery();

con.Close();

return ss;

}
为怎么返回-1啊,
username, password当输入查找数据库中有的数据,却返回是-1啊,而不是1啊
哪个能帮我啊

ExecuteNonQuery这个方法返回的是数据库表内有无改动操作的行数量(增,删,改),查询不属于改动操作,当然不能返回你的要的值。

如果想查出有没有对应账户和密码的信息 应该用 select count(*),然后把查出来这列,用reder取出来,如果这个数字大于1,就有,反之则没有

string sql = "Select * from [formss] Where Username='" + username + "' and Userpass='" + password + "' ";

DataSet dstUsers = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(sql, con);
adapter.Fill(dstUsers, "Users");
return dstUser.Tables[0].Rows.Count;

返回 -1说明没有这个用户呀

你应该这样写
public static bool Vaildateuse(string username, string password)
{
SqlConnection con = new SqlConnection();
con.ConnectionString =
ConfigurationManager.ConnectionStrings["aaConnectionString"].ConnectionString;
string sql = "Select * from [formss] Where Username='" + username + "' and Userpass='" + password + "' ";
try
{