PDA

View Full Version : سوال: هنگ کردن برنامه .. فقط یه بار میشه استفاده کرد!



aliramazani
شنبه 14 خرداد 1390, 20:30 عصر
توی این کد کاربر توی فیلد یوزرنیم پسورد را وارد می کنه و با کلیک بر روی دکمه اطلاعاتش توی دیتا گرید نشون داده میشه.

حالا اگر یه بار یوز و پسورد را وارد کردم و اطلاعاتی را دیدم و دوباره خواستم یوزر و پسورد کاربر دیگه ای را بزنم فرم هنگ می کنه و پیغام خطا میده. باید برای دیدن اطلاعات جدید یه بار فرم را ببندم و دوباره باز کنم.


private void button1_Click(object sender, EventArgs e)
{
SqlConnection objConnection = new SqlConnection("Data Source=ali\\sqlexpress;Initial Catalog=lab;Integrated Security=True");
SqlDataAdapter objDataAdapter = new SqlDataAdapter();
DataSet objDataSet = new DataSet();
objDataAdapter.SelectCommand = new SqlCommand();
objDataAdapter.SelectCommand.Connection = objConnection;
objDataAdapter.SelectCommand.CommandText = "SELECT * " + " FROM users where username='" + username.Text + "' and password='" + password.Text + "'";
objDataAdapter.SelectCommand.CommandType = CommandType.Text;
objConnection.Open();
objDataAdapter.Fill(objDataSet, "users");
objConnection.Close();

//modir.DataBindings.Add(new Binding("text", objDataSet, "users.role"));
// dgv.DataBindings.Add(new Binding("DataSource",objDataSet,"users"));
dgv.AutoGenerateColumns = true;
dgv.DataSource = objDataSet;
dgv.DataMember = "users";
modir.Text = dgv.CurrentRow.Cells["role"].Value.ToString();
objDataAdapter = null;
objConnection = null;
}

sinashahab
شنبه 14 خرداد 1390, 22:25 عصر
اررورش هم مي نوشتي بد نبود.
شايد اون طوري بهتر كمك بتونيم بكنيم.

ompcj4u
یک شنبه 15 خرداد 1390, 00:36 صبح
SqlConnection objConnection = new SqlConnection("Data Source=ali\\sqlexpress;Initial Catalog=lab;Integrated
Security=True");

SqlDataAdapter objDataAdapter = new SqlDataAdapter("",objConnection);
DataSet objDataSet = new DataSet();

objDataAdapter.SelectCommand.CommandText = "SELECT * " + " FROM users where username='" + username.Text + "' and password='" + password.Text + "'";


objDataAdapter .Fill(objDataSet , "tbl_01");
dataGridView1.DataSource = objDataSet ;
dataGridView1.DataMember = "tbl_01";



این جوری باید مشکلت حل بشه
در ضمن نیازی به open و close کردن conectoin در دستور select نیست