PDA

View Full Version : حرفه ای: جستجو در دیتابیس با binding Source



User_Soual
جمعه 12 بهمن 1397, 02:11 صبح
سلام و خسته نباشید
من توی دیتابیسم مقادیری مانند زیر دارم:

Name_______Id
_______________
A____________6
B____________61
C ____________6۱۱
D__________685
R_____________۶۱۱۱۹
X______________8
H___________6111
اگر دقت کرده باشید ایدی بیشترشون اولش ۶ هست
حالا من یک تکست باکس دارم میخوام اگر ۶زدم تمام ویژگی ها مثل نام و نام خانوادگی و سن و این چیزا درجا بیاد تو تکست باکس های مربوطه بشینه
بعد اگه ۶۱ زدم بیاد ویژگی های کاربر ۶۱ رو بزاره توی تکست باکس ها
حالا اگه ۶۱۱ شد کاربر بعدی
اید کار تاوقتی کاربر اصلی که ۶۱۱۱۹ هست ادامه پیدا کنه
دقیقا همین روش رو میخوام لطفا همین کارو توضیح بدید
سوالی بود حتما و فورا جواب میدم امید وارم فهمیده باشید

alexmcse
جمعه 12 بهمن 1397, 09:43 صبح
سلام

private BindingSource Disp(int id) {//نام جدول کانکشن استرینگ رو عوض کنید

SqlConnection cnn = new SqlConnection("Data Source=.;Initial Catalog=DBExample;Integrated Security=True");
SqlCommand cmd = new SqlCommand("SELECT * FROM TInfo ", cnn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);

var bs = new BindingSource
{
DataSource = dt,
Filter = $"ID= '{id}'"
};
return bs;
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.TextLength > 0)
{
dataGridView1.DataSource = Disp(Convert.ToInt32(textBox1.Text));
}
}

alexmcse
جمعه 19 بهمن 1397, 19:21 عصر
سلام و خسته نباشید
من توی دیتابیسم مقادیری مانند زیر دارم:

Name_______Id
_______________
A____________6
B____________61
C ____________6۱۱
D__________685
R_____________۶۱۱۱۹
X______________8
H___________6111
اگر دقت کرده باشید ایدی بیشترشون اولش ۶ هست
حالا من یک تکست باکس دارم میخوام اگر ۶زدم تمام ویژگی ها مثل نام و نام خانوادگی و سن و این چیزا درجا بیاد تو تکست باکس های مربوطه بشینه
بعد اگه ۶۱ زدم بیاد ویژگی های کاربر ۶۱ رو بزاره توی تکست باکس ها
حالا اگه ۶۱۱ شد کاربر بعدی
اید کار تاوقتی کاربر اصلی که ۶۱۱۱۹ هست ادامه پیدا کنه
دقیقا همین روش رو میخوام لطفا همین کارو توضیح بدید
سوالی بود حتما و فورا جواب میدم امید وارم فهمیده باشید


private BindingSource Disp(int id) {//نام جدول کانکشن استرینگ رو عوض کنید


SqlConnection cnn = new SqlConnection("Data Source=.;Initial Catalog=DBExample;Integrated Security=True");
SqlCommand cmd = new SqlCommand("SELECT * FROM TInfo ", cnn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);


var bs = new BindingSource
{
DataSource = dt,
Filter = $"ID= '{id}'"
};
return bs;
}


private void textBox1_TextChanged(object sender, EventArgs e)
{ //برای نشان دادن در تکست باکس ها باید تکست باکس ها را با بایندینگ سورس بایند کنیم
if (textBox1.TextLength > 0)
{
BindingSource b = Disp(Convert.ToInt32(textBox1.Text));
dataGridView1.DataSource = b;
//خط زیر بایند های که به تکست باکس اضافه شده است را پاک میکند
textBox2.DataBindings.Clear();
// textBox2.DataBindings.Add(" نام پراپرتی تکست نام بیندینگ سورس مثلا b" +"نام ستون جدول مثلا نام یا نام خانوادگی");




textBox2.DataBindings.Add("Text", b, "Name");
textBox3.DataBindings.Clear();
textBox3.DataBindings.Add("Text", b, "Family");
}
else
{
textBox2.Text =textBox3.Text = "";
}
}