PDA

View Full Version : سوال: کدهای زیر چکاری انجام می دهند



y_zaree1369
دوشنبه 15 آبان 1391, 10:02 صبح
StrQ = "";
SqlConnection myConn;
SqlCommand myComm;
SqlDataReader myDR;

try
{
StrConn = "Data Source=.;Initial Catalog=Havapeyma;Integrated Security=True";
StrQ = "SELECT * FROM [Admin] WHERE (([UserName] = @UserName) AND ([Password] = @Pass))";
myConn = new SqlConnection(StrConn);
myComm = new SqlCommand();
myComm.Connection = myConn;
myComm.CommandType = CommandType.Text;
myComm.CommandText = StrQ;
myComm.Parameters.Add("UserName", SqlDbType.NVarChar, 50).Value = this.textBox1.Text;
myComm.Parameters.Add("Pass", SqlDbType.NVarChar, 50).Value = this.textBox2.Text;
myConn.Open();
myDR = myComm.ExecuteReader();
if (myDR.Read())
{
Form2 F2 = new Form2();
F2.ShowDialog();
this.Hide();
}
else
{
MessageBox.Show("نام کاربری یا کلمه عبور صحیح نمی باشد","خطا");
textBox1.Text = ""; textBox2.Text = ""; textBox1.Focus();
}
myConn.Close();
}
catch (Exception) { }

زمانی که اجرا میکنم از خط
myConn.Open();
خطا میگیره مینویسه به دیتابیس متصل نیست.
لطفا کمکم کنید
مرسی

Nima7887
دوشنبه 15 آبان 1391, 12:44 عصر
خب اين كد مربوط گرفتن يوزرنيم و پسورد از كاربر و بررسي اون از جدول Admin هست جهت اعتبار سنجي كاربر
اما خطايي كه شما دارين همونطور كه گفتيد مربوط به اتصال به ديتابيس هست
شما بايد متن اتصال به ديتابيس رو چك كنيد
StrConn = "Data Source=.;Initial Catalog=Havapeyma;Integrated Security=True";
اما اگه اين كدها قبلا كار مي كرده بگيد تا بيشتر راهنمايي كنيم

y_zaree1369
دوشنبه 15 آبان 1391, 13:10 عصر
خب اين كد مربوط گرفتن يوزرنيم و پسورد از كاربر و بررسي اون از جدول Admin هست جهت اعتبار سنجي كاربر
اما خطايي كه شما دارين همونطور كه گفتيد مربوط به اتصال به ديتابيس هست
شما بايد متن اتصال به ديتابيس رو چك كنيد
StrConn = "Data Source=.;Initial Catalog=Havapeyma;Integrated Security=True";
اما اگه اين كدها قبلا كار مي كرده بگيد تا بيشتر راهنمايي كنيم


اره این کد قبلا کار میکرده.
لطف میکنید بیشتر درباره کدهای بالا توضیح بدین که هر خط دقیقا چه کاری انجام میده
مرسی

Nima7887
سه شنبه 16 آبان 1391, 14:54 عصر
احتمالا شما تغييراتي در اس كيو ال يا ديتابيس و يا در ساختار اون جدول داشتيد
و ديگه با اون حالت قبلي لاگين به ديتابيس ممكن نيست يا ساختار جداولتون تغيير كرده
شما اين موارد رو چك كنيد
- آيا سرويس اس كيو ال شما ران هست ؟ --در همون كامپيوتري كه برنامه كد رو اجرا مي كنيد
براي اينكه از استارت بودن سرويس اس كيو ال آگاه بشيد اينكه وارد اس كيو ال بشيد و از جدولتون سلكت بگيريد كافيه
- آيا شما در همون كامپيوتري كه هستيد ديتابيسي به نام Havapeyma داريد ؟
گفتم همون كامپيوتر چونكه از نقطه استفاده شده و اين يعني لوكال بودن ديتابيس.
- آيا جدولي به نام Admin در اون ديتابيس داريد
و اون جدول داراي فيلدهايي به نام UserName و Password هست


بصورت خلاصه بريد و در اين دستور رو در اس كيو التون اجرا كنيد ببينيد خطا مي ده ؟
Select UserName,Password from Havapeyma.Admin
اگه داد كه اصلا شما همچين ساختاري ندارين
اگه نداد شما بايد كانكشن خودتون رو اصلاح كنيد