جستجو در دیتابیس sql بوسیله سی شارپ
سلام ببخشید شاید ماهیت این تاپیک تکراری باشه ولی توی هر تاپیکی که سرچ کردم و دیدم به صورت جزئی بحث شده بود و کامل نبود.
برای امکان جستجو در برنامه میخوام که
اولا جستجو که میکنم حاصل جستجو هم معمولا یه نفر میشه که نتیجه توی تکس باکس ها نمایش داده بشه.واون حاصل جستجو توی گریدویو هم با یک رنگ مشخص شده باشه.
ثانیا ارتباط باشه بین گریدویو و تکس باکس به این نحو که روی اسمی از اسامی توی دیتاگریدویو کلیک کنم اطلاعاتش به تکس باکس ریخته بشه و نمایش داده بشه.البته جستجو هم در دیتابیس SQL هستش.
بعد کدم هم توی txtsearch_TextChanged این هستش:SqlConnection Conn = new SqlConnection();
Conn.ConnectionString = @"server = (local) ; database=dbsql; integrated security = true";
SqlCommand Cmd = new SqlCommand();
Cmd.Connection = Conn;
Cmd.CommandText = " select * from SQL WHERE idpublic like '% "+ txtidpublic.Text +" %' ";
Conn.Open();
SqlDataReader dr = Cmd.ExecuteReader();
if (dr.Read())
{
txtname.Text = (string)dr["name"];
txtfamily.Text = (string)dr["family"];
txtdadname.Text = (string)dr["dadname"];
txtidbasiji.Text = (string)dr["idbasiji"];
txtidpublic.Text = (string)dr["idpublic"];
}
چه تغییری باید بهش بدم؟اگه راهنمایی کنید ممنون میشم
نقل قول: ارتباط تکس باکس با دیتاگریدویو
نقل قول: ارتباط تکس باکس با دیتاگریدویو
پیشنهاد :
شما بعد از اینکه داده هاتون رو از دیتابیس ریختید توی Gridview بیایید Gridview رو فیلتر کنید،
این کد شما بار زیادی رو روی دیتابیس داره یعنی با هر بار TextChange به دیتابیس متصل بشید و..... که به نظر من این روش مناسبی نیست.
اینم به قول خودتون ارتباط بین گریدویو و تکست باکس :
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
txtname.Text = dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString();
txtfamily.Text = dataGridView1[1, dataGridView1.CurrentRow.Index].Value.ToString();
txtdadname.Text = dataGridView1[2, dataGridView1.CurrentRow.Index].Value.ToString();
txtidbasiji.Text = dataGridView1[3, dataGridView1.CurrentRow.Index].Value.ToString();
txtidpublic.Text = dataGridView1[4, dataGridView1.CurrentRow.Index].Value.ToString();
}
نقل قول: ارتباط تکس باکس با دیتاگریدویو
ممنون فقط چرا این کدی که واسه جستجو گذاشتمش کار نمیکنه نتیجه ای رو نشون نمیده و خظا هم نمیگیره.
نقل قول: ارتباط تکس باکس با دیتاگریدویو
الان مشکلی نداره :
SqlConnection Conn = new SqlConnection();
Conn.ConnectionString = @"server = (local) ; database=dbsql; integrated security = true";
SqlCommand Cmd = new SqlCommand();
Cmd.Connection = Conn;
Cmd.CommandText = " select * from sql WHERE idpublic like '%" + txtidpublic.Text + "%'";
Conn.Open();
SqlDataReader dr = Cmd.ExecuteReader();
if (dr.Read())
{
txtname.Text = (string)dr["name"];
txtfamily.Text = (string)dr["family"];
txtdadname.Text = (string)dr["dadname"];
txtidbasiji.Text = (string)dr["idbasiji"];
}
else
{
txtname.Text ="";
txtfamily.Text = "";
txtdadname.Text = "";
txtidbasiji.Text = "";
}