SqlCommand cmd = new SqlCommand("select * from 用户名密码 where 用户名=@ID ", con);
cmd.Parameters.Add("@ID", this.textBox1.Text);
cmd.Parameters.Add("@Password", this.textBox2.Text);
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
if("@Password" == sdr["密码"].ToString())
{
Form2 newForm=new Form2();
newForm.Show();
}
}
sdr.Close();好象if("@Password" == sdr["密码"].ToString()) 就这句有问题.不知道怎么改.请指教
cmd.Parameters.Add("@ID", this.textBox1.Text);
cmd.Parameters.Add("@Password", this.textBox2.Text);
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
if("@Password" == sdr["密码"].ToString())
{
Form2 newForm=new Form2();
newForm.Show();
}
}
sdr.Close();好象if("@Password" == sdr["密码"].ToString()) 就这句有问题.不知道怎么改.请指教
不对应该为
if(this.textBox2.Text == sdr["密码"].ToString())
SqlCommand cmd = new SqlCommand("select count(*) from 用户名密码 where 用户名=@ID ", con);
cmd.Parameters.Add("@ID", this.textBox1.Text);
con.Open();
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{
//说明该用户存在
}
else
{
//说明用户不存在
}
con.Close();
SqlCommand cmd = new SqlCommand("select count(*) from 用户名密码 where 用户名=@ID and 密码=@Password", con);
cmd.Parameters.Add("@ID", this.textBox1.Text);
cmd.Parameters.Add("@Password", this.textBox2.Text);
con.Open();
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{
//说明该用户存在
}
else
{
//说明用户不存在
}
con.Close();
cmd.Parameters.Add("@ID", this.textBox1.Text);
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
if (sdr["密码"].ToString() == this.textBox2.Text.Trim())
{
//说明用户存在
Form2 newForm = new Form2();
newForm.Show();
}
}
sdr.Close();
con.Close();
这是什么意思啊?"@Password"这只是一个字符串啊,并不代表参数所对应的值...还有就是SqlCommand的CommandText select * from 用户名密码 where 用户名=@ID
明明这里面只有一个参数,而你却添加了两个,多添加的一个"@Password"也没用...
if (sdr["密码"].ToString() == this.textBox2.Text.Trim())刚才那个COUNT算法可以.这个算法还是不行