PDA

View Full Version : کمک در جستجو در سی شارپ



ansaralghaem
شنبه 20 آبان 1391, 20:54 عصر
سلام یه پروژه با بانک اکسس دارم در فرم ویرایش میخوام اطلاعات رو بر اساس فیلد
Id
جستجو کنم هر فیلد در تکست باکس مخصوص به خودش نمایش داده بشه و در صورت نیاز آپدیت بشه
در نظر داشته باشید تمام مراحل پروژه با کد نویسی جلو آمده و نمیخوام از بایندینگ سورس وغیره استفاده کنم

باتشکر از شما

mansourm
شنبه 20 آبان 1391, 21:14 عصر
اینم یک نمونه کد البته در این کد من از یک کلاس برای بروزرسانی(ویرایش) استفاده کردم




connectionclass.f1("Update skarmand Set name=" + textbox2.text + ",family=" + textbox3.text + ",phone='" + textBox4.Text + "',mobile='" + textBox5.Text + "',semat=" + textBox6.Text + ",address='" + textBox7.Text + "'where idkarkon=" + textBox1.Text + "");

ansaralghaem
شنبه 20 آبان 1391, 21:21 عصر
اینم یک نمونه کد البته در این کد من از یک کلاس برای بروزرسانی(ویرایش) استفاده کردم
باتشکر ازشما بعد از جستجو چطوری بگم هر فیلد بره تویه تکست باکس کد جستجوم درسته فقط مونده هر فیلد بره تو تکست باکس مربوطه
کد آپدیتشم که شما دوست عزیز گفتی آخر سرم آپدیت بشه
راستی خوب هنگام آپدیت از کجا میفهمه که کدوم سطر رو آپدیت کنه؟

mansourm
شنبه 20 آبان 1391, 21:38 عصر
راستی خوب هنگام آپدیت از کجا میفهمه که کدوم سطر رو آپدیت کنه؟
از طریق where کد دستورو نگاه کنید متوجه میشید و ..

به عنوان مثال





ctyname.Text = dataGridView1.Rows[0].Cells[0].Value.ToString();
regionname.Text = dataGridView1.Rows[0].Cells[1].Value.ToString();
address.Text = dataGridView1.Rows[0].Cells[7].Value.ToString();

اون دکمه تشکرواگه یادت نره خوبه

ansaralghaem
شنبه 20 آبان 1391, 23:01 عصر
راستی خوب هنگام آپدیت از کجا میفهمه که کدوم سطر رو آپدیت کنه؟
از طریق where کد دستورو نگاه کنید متوجه میشید و ..

به عنوان مثال


اون دکمه تشکرواگه یادت نره خوبه
ممنونم راستی چطوری بعد از جستجو هر فیلد رو در تکست باکس مربوطه قرار بدم. در فرم ویرایش برنامم از دیتا گرید استفاده نکردم فقط تکست باکسه

mousa1992
شنبه 20 آبان 1391, 23:29 عصر
سلام دوست عزیز
در نهایت بعد از جستجو اطلاعاتتون رو درون یک datatable قرار میدی
شما هر ستون از table رو که خواستین درون textbox مربوطه قرار میدین
این نمونه رو ببین


SqlDataAdapter da = new SqlDataAdapter("select Name,Family,FatherName,Gender,BearthDate,ShenaseCo de,MeliCode,Tahsilat,Tell,Address,Image from Students where StNo=" + stno, DAL.Connection);
DataTable dt = new DataTable();
DAL.Connect();
da.Fill(dt);
DAL.DisConnect();


خب از این طریق مقدار مورد نظرتون رو استخراج میکنین
dt.Rows["index"]["column name"].ToString();

موفق باشی

ansaralghaem
یک شنبه 21 آبان 1391, 00:22 صبح
باتشکر از شما دوست عزیز واسه پر کدن تکست باکس ها از کد زیر استفاده کردم
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + @"\Database.accdb");//


OleDbDataAdapter dp = new OleDbDataAdapter();
dp.SelectCommand=new OleDbCommand("SELECT * FROM stable WHERE ID='" + textid.Text.Trim() + "'", con);
con.Open();
OleDbDataReader rd = dp.SelectCommand.ExecuteReader();

while (rd.Read())
{
textnamef.Text = rd["namef"].ToString();
textphone.Text = rd["phone"].ToString();
}

mousa1992
یک شنبه 21 آبان 1391, 00:49 صبح
فرقی نمیکنه اکسس باشه یا sql فقط رشته ی اتصالشون با هم متفاوته
query که برای جستجو نوشتی به نظرم اشکال داره فیلد ID که دارید باید از نوع int باشه پس نباید از ' استفاده کنید
خطا رو بذار ببینن دوستان راهنماییت کنن