PDA

View Full Version : چرا ، در کد من موقع پر کردن دیتا تیبل Excption رخ میده؟



resident
دوشنبه 10 دی 1386, 20:04 عصر
سلام . من این کد رو برای login نوشتم . در هنگام اجرا وقتی یوزر نیم و پسورد رو وارد می کنم میگه در دستور da.fill(dt) ، استثناء رخ داده. به نظر شما مشکل کار کجاست؟ دستوراتی که بعد از پر کردن دیتا تیبل نوشتم درسته؟
خواهش میکنم فوری کمکم کنید ، 3 روزه با این کد سروکله میزنم، دیگه خسته شدم.
13323

خانم گل
دوشنبه 10 دی 1386, 23:33 عصر
exception رو بنویس متوجه نشدم منظورتو؟؟!

sinpin
دوشنبه 10 دی 1386, 23:49 عصر
کدهای کوچیک رو همیشه در Code Tag قرار بدید که به راحتی - و بدون دانلود - همه بتونن ببینن :


SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data Source=.;Initial Catalog=TestDB;Integrated Security=True";
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
DataTable dt = new DataTable();

cmd.Connection = cn;
cmd.CommandText = "select * from login where username=@username and password=@password";
cmd.Parameters.AddWithValue("@uname", uName.Text);
cmd.Parameters.AddWithValue("@password", pass.Text);
da.SelectCommand = cmd;
da.Fill(dt);
if (dt.Rows.Count == 0)
MessageBox.Show("نام کاربری یا کلمه عبور معتبر نمی باشد.");
else
{
Form2 frm = new Form2();
frm.ShowDialog();
}
تو این کد من جایی رو نمیبینم که کانکشن رو open کرده باشید. (البته شاید مشکل از بیخوابیه من باشه!)

resident
سه شنبه 11 دی 1386, 08:45 صبح
مشکلم حل شد. اینکه نمیتونست دیتاتیبل رو پر کنه به این دلیل بود که نمیتونسته به دیتابیس وصل بشه .
به هر حال از هر دوی شما عزیزان ممنونم.
در ضمن sinpin جان متد fill نیازی به باز و بستن کانکشن نداره ، خودش به صورت اتوماتیک این کار رو انجام میده.