PDA

View Full Version : واکشی اطلاعات از دیتابیس access



aligholi1200
پنج شنبه 22 مهر 1395, 17:26 عصر
درود
من یک دکمه دارم می خوام با کلیک کردن روی اون به دیتابیس اکسس وصل بشه و اطلاعات فیلد "نام" رو سطر به سطر استخراج کنه و اون رو داخل comboBox ذخیره و به ایتم اون اضافه کنه !
ممنون میشم اگه کسی بتونه کمکم کنه !
اگرنامرتبط هست دوستان مدیر انتقال بدن ! باتشکر.

daniyaltjm
پنج شنبه 22 مهر 1395, 19:06 عصر
درود
من یک دکمه دارم می خوام با کلیک کردن روی اون به دیتابیس اکسس وصل بشه و اطلاعات فیلد "نام" رو سطر به سطر استخراج کنه و اون رو داخل comboBox ذخیره و به ایتم اون اضافه کنه !
ممنون میشم اگه کسی بتونه کمکم کنه !
اگرنامرتبط هست دوستان مدیر انتقال بدن ! باتشکر.

OleDbConnection con = new OleDbConnection("کانکشن استرینگ");
OleDbDataAdapter da = new OleDbDataAdapter("select Name from YourDB", con);
DataTable dt = new DataTable();
da.Fill(dt);
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Name";

aligholi1200
پنج شنبه 22 مهر 1395, 21:29 عصر
OleDbConnection con = new OleDbConnection("کانکشن استرینگ");
OleDbDataAdapter da = new OleDbDataAdapter("select Name from YourDB", con);
DataTable dt = new DataTable();
da.Fill(dt);
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Name";


مرسی از پاسختون ! مشکلم حل شد .

حالا اگر بخوام همین کار رو برای یک تکست باکس انجام بدم که بدین صورت باشه که هر وقت توی اون تکست باکس کلمه ای رو وارد می کنیم اون رو پیشنهاد بده یا همون اتو کامپلیت ، چیکار باید بکنم !
پیشاپیش تشکر از پاسختون .

daniyaltjm
پنج شنبه 22 مهر 1395, 21:46 عصر
مرسی از پاسختون ! مشکلم حل شد .

حالا اگر بخوام همین کار رو برای یک تکست باکس انجام بدم که بدین صورت باشه که هر وقت توی اون تکست باکس کلمه ای رو وارد می کنیم اون رو پیشنهاد بده یا همون اتو کامپلیت ، چیکار باید بکنم !
پیشاپیش تشکر از پاسختون .
توی رویداد TextChanged :
AutoCompleteStringCollection coll = new AutoCompleteStringCollection();
OleDbConnection con = new OleDbConnection("کانکشن استرینگ");
OleDbDataAdapter da = new OleDbDataAdapter("select Name from YourDB order by Name asc", con);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
coll.Add(dt.Rows[i]["Name"].ToString());
}
}
textBoxName.AutoCompleteCustomSource = coll;
textBoxName.AutoCompleteMode = AutoCompleteMode.Suggest;
textBoxName.AutoCompleteSource = AutoCompleteSource.CustomSource;

aligholi1200
جمعه 23 مهر 1395, 13:46 عصر
توی رویداد TextChanged :
AutoCompleteStringCollection coll = new AutoCompleteStringCollection();
OleDbConnection con = new OleDbConnection("کانکشن استرینگ");
OleDbDataAdapter da = new OleDbDataAdapter("select Name from YourDB order by Name asc", con);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
coll.Add(dt.Rows[i]["Name"].ToString());
}
}
textBoxName.AutoCompleteCustomSource = coll;
textBoxName.AutoCompleteMode = AutoCompleteMode.Suggest;
textBoxName.AutoCompleteSource = AutoCompleteSource.CustomSource;

با تشکر از پاسخگویی شیوای شما .
یه مسله ای دیگه ای که برای من پیش اومده و خیلی هم جستجو کردم و به نتیجه ای نرسیدم اینه که من چند تکس باکس دارم که به همین روش از دیتا بیس با اسامی مختلفی پر شدن حالا می خوام با کلیک بروی دکمه "ثبت" همین کاربرها که اسامی اونا رو وارد کردم یک مقدار نامبر که توی دیتابیس دارن اون مقدار می خوام +1 بشه !
شرمنده که سوالام زیاد شدن !
ببخشد برادر.

daniyaltjm
جمعه 23 مهر 1395, 16:15 عصر
با تشکر از پاسخگویی شیوای شما .
یه مسله ای دیگه ای که برای من پیش اومده و خیلی هم جستجو کردم و به نتیجه ای نرسیدم اینه که من چند تکس باکس دارم که به همین روش از دیتا بیس با اسامی مختلفی پر شدن حالا می خوام با کلیک بروی دکمه "ثبت" همین کاربرها که اسامی اونا رو وارد کردم یک مقدار نامبر که توی دیتابیس دارن اون مقدار می خوام +1 بشه !
شرمنده که سوالام زیاد شدن !
ببخشد برادر.

////برای اولین نام
int temp = 0;
OleDbConnection con = new OleDbConnection(@"کانکشن استرینگ");
OleDbCommand cm = new OleDbCommand(null,con);
cm.CommandText = "select Num from TB1 where FName='"+textBox1.Text+"' ";
cm.Connection.Open();
temp = (int)cm.ExecuteScalar();
temp++;
cm.CommandText = "update TB1 set Num='"+(temp)+"' where FName='"+textBox1.Text+"' ";
cm.ExecuteNonQuery();
//// برای دومین نام
temp = 0;
cm.CommandText = "select Num from TB1 where FName='" + textBox2.Text + "' ";
temp = (int)cm.ExecuteScalar();
temp++;
cm.CommandText = "update TB1 set Num='" + (temp) + "' where FName='" + textBox2.Text + "' ";
cm.ExecuteNonQuery();
////برای سومین نام
temp = 0;
cm.CommandText = "select Num from TB1 where FName='" + textBox3.Text + "' ";
temp = (int)cm.ExecuteScalar();
temp++;
cm.CommandText = "update TB1 set Num='" + (temp) + "' where FName='" + textBox3.Text + "' ";
cm.ExecuteNonQuery();
////برای آخرین مین نام
temp = 0;
cm.CommandText = "select Num from TB1 where FName='" + textBox4.Text + "' ";
temp = (int)cm.ExecuteScalar();
temp++;
cm.CommandText = "update TB1 set Num='" + (temp) + "' where FName='" + textBox4.Text + "' ";
cm.ExecuteNonQuery();
cm.Connection.Close();

ولی بهتره علاوه بر نام از یک چیزی که منحصر بفرد باشه هم استفاده کنی چون در غیر اینصورت تمام هم نامات با هم Update می شوند.