PDA

View Full Version : مشکل در ارتباط با دیتابیس sql



amin.net
یک شنبه 14 آذر 1395, 12:50 عصر
سلام. من یک دیتابیس به اسم myDb.mdf ساخته م. دو تا جدول دارم. یکی اسمش tblInfo هست که در اون برای ذخیره ی اسم و فامیل و این چیز ها ذخیره میشه. و یکی دیگه هم tblLogin که دو ستون user و pass داره. این کد من برای فرم لاگین هست وقتی میخوام با روی دکمه ی ورود کلیک میشه:
private void btnLogin_Click(object sender, EventArgs e) {
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\S DC PC\Documents\Visual Studio 2013\Projects\mabahes6\mabahes6\bin\Debug\myDb.mdf ;Integrated Security=True;Connect Timeout=30");
try
{
con.Open();
SqlCommand cmd = new SqlCommand("select * from tblLogin where user = @u", con);
cmd.Parameters.AddWithValue("@u", txtUsername.Text);
SqlDataReader dr = cmd.ExecuteReader();
dr.Read();
int i = Convert.ToInt32( dr.HasRows );
if (dr.HasRows)
{
MessageBox.Show("Welcom!");
Form3 frm = new Form3();
frm.Show();
this.Hide();
}
else
{
MessageBox.Show("invalid");
}
}
catch(Exception ex){
MessageBox.Show(ex.ToString());
}


}
وولی کد کار نمیکنه و همیشه بخش else کد اجرا میشه. ولی جالب اینجاست که وقتی کوئری رو به جای select از جدول tblLogin، از جدول tblInfo استفاده می کنم کد کار میکنه! یعنی وقتی می نویسم:

"select * from tblInfo where name = @u"

جالب تر اینکه فقط برای ستون اول یعنی ستون user اینجوری هست. ولی اگه همین رو با ستون دوم از همین جدول که pass هست چک کنم هیچ مشکلی نداره!
چَرا واقعا اینگونه است؟!:گریه: