SqlConnection yy = new SqlConnection();
yy.ConnectionString = "server=.;database=888;uid=sa;pwd=123";
yy.Open();
SqlCommand nn = new SqlCommand();
nn.Connection = yy;
nn.CommandText = "select * from users where name=@name";
nn.Parameters.Add(new SqlParameter("@name", textBox1.Text));
SqlDataReader rr = nn.ExecuteReader();
if (rr.Read())
{
if (rr[2].ToString() == textBox2.Text)
{
Form2 ff = new Form2();
ff.Show();
}
else
{
MessageBox.Show("密码错误,请重新输入!");
textBox2.Text = "";
}
}
else
{
MessageBox.Show("用户名不存在!请重新输入!");
textBox1.Text = "";
textBox2.Text = "";
}数据库我设计的第一项是用户名~~第二项是性别~~第三项是密码~~为啥连接是总是提示密码错误啊???
还有 if (rr[2].ToString() == textBox2.Text)
rr[2]中得2可不可以用参数表示??
如果可以,怎么用??是跟数据库表里的东西有关吗??
yy.ConnectionString = "server=.;database=888;uid=sa;pwd=123";
yy.Open();
SqlCommand nn = new SqlCommand();
nn.Connection = yy;
nn.CommandText = "select * from users where name=@name";
nn.Parameters.Add(new SqlParameter("@name", textBox1.Text));
SqlDataReader rr = nn.ExecuteReader();
if (rr.Read())
{
if (rr[2].ToString() == textBox2.Text)
{
Form2 ff = new Form2();
ff.Show();
}
else
{
MessageBox.Show("密码错误,请重新输入!");
textBox2.Text = "";
}
}
else
{
MessageBox.Show("用户名不存在!请重新输入!");
textBox1.Text = "";
textBox2.Text = "";
}数据库我设计的第一项是用户名~~第二项是性别~~第三项是密码~~为啥连接是总是提示密码错误啊???
还有 if (rr[2].ToString() == textBox2.Text)
rr[2]中得2可不可以用参数表示??
如果可以,怎么用??是跟数据库表里的东西有关吗??
就知道为什么总提示密码错误
再者:你可以这样写:
nn.CommandText = "select * from users where name=@name and password=@pwd";
传入name参数和password参数,这样直接判断返回的结果是否有记录就可以了(name不能重复)
再者:你可以这样写:
nn.CommandText = "select * from users where name=@name and password=@pwd";
传入name参数和password参数,这样直接判断返回的结果是否有记录就可以了(name不能重复)
再者:你可以这样写:
nn.CommandText = "select * from users where name=@name and password=@pwd";
传入name参数和password参数,这样直接判断返回的结果是否有记录就可以了(name不能重复)
用sqldatareader读时,写成rr["name"],rr["sex"],rr["password"]