PDA

View Full Version : چگونه برنامه searchبنویسم وقتی خواسته باشم در2جدول اس کیو ال جستجو کنه؟



136913691369
دوشنبه 06 خرداد 1392, 12:40 عصر
سلام دوستان خواهشأکمکم کنید.من درسی شارپ 1فرم ثبت ورزشکار دارم که برای واردکردن مشخصات. ی فرم تعرفه ورزشکاردارم واسه واردکردن حق بیمه وشهریه و...داره .درsqlهم 2تاجدول داره .درفرم تعرفه کدونام ونام خانوادگی که درفرم ثبت داشته داره ولی جدول تعرفه فقط کد را داره منم میخوام وقتی درفرم تعرفه کد را وارد کرد وکلیدجستجو زد نام ونام خانوادگیش نشون بده بدون اینکه نام ونام خانوادگیش درجدول تعرفه ثبت بشه. اومدم در اس کیو ال viewساختم که جدول ثبت با جدول تعرفه بهم ربط دادم و کدونام ونام خانوادگی ازجدول ثبت با همه ی ستون جدول تعرفه بغیر کد علامت زدم. در سیشارپ اومدمکلاس تعریف کردم که وقتی ثبت میکنه در جدول تعرفه ثبت بشه ...ولی واسه متد search نمیدونم چجوری بایدجستجو کنه چون کدی که درتعرفه هست بایدنام ونام خانوادگیشا از viewبرداره ونشون بده کمکم کنید واسه پروژه فارغ التحصیلیم

Mahmoud.Afrad
دوشنبه 06 خرداد 1392, 13:10 عصر
ساختار جدول و ویو ها رو بزارید.

136913691369
دوشنبه 06 خرداد 1392, 15:50 عصر
ساختار جدول و ویو ها رو بزارید.


سلام میشه بیشتر راهنمایی کنید.خودم درکلیدجستجو نوشتم
Sqldatqreader dr=pv.search("select * from که pvنام مستعار کلاسم و searchمتدی است که در کلاس استفاده کردم بعدfromنام ویو نوشتم وبقیه برنامه ولی کارنمکنه

Mahmoud.Afrad
دوشنبه 06 خرداد 1392, 16:09 عصر
ساختار جدول و ویو رو بزار. کد میزارید یا کامل بزارید یا نصفه نیمه اصلا نزارید. از روی این نیم خط کد چه جوابی میشه داد آخه!

hramezani
دوشنبه 06 خرداد 1392, 16:11 عصر
کافیه یه select بنویسی که توی where کد رو بگیره و تو select هم نام و نام خانوادگی رو برگردونی
مشکلت فکر نمیکنم این باشه دقیقا مشکل کجاست؟

davidrobert
دوشنبه 06 خرداد 1392, 18:50 عصر
کد مربوط به جستجو کردن اطلاعات داخل دیتابیس این کد برای کمبو باکس هستش که شما می یاین اون دستی که جستجو کنید رو انتخاب میکنید یعنی میاد داخل کمبو باکس نام رو انتخاب میکنید و تکس باکس اسم را وارد میکنید در دیتا گرید فقط نام رو نشان میده یا کامبو باکس فایلی رو انتخاب میکنی و داخل تکس باکس فامیلی رو میزنی فامیلی رو پیدا میکنه فقط هر عنوان رو داخل کامبوباکس انتخاب کنی داخل تکس باکس وارد کنی همون سطر مورد نظر رو میگیرده و داخل دیتا گرید میگیرده و نشان میدهد. کد مروبط به جستجو.
void search()
{
string query = null;

try
{
switch (CmbFind.Text)
{
//case "شماره سند":{querys = "SELECT * from TblDocAndNum WHERE CONVERT(varchar,DN_Doc) LIKE '%" + txtsearch.Text + "%'"; break; }
case "کد خدمات": { query = "SELECT * from TblAddFactRecKhedeMatErviec where convert(varchar,SF_CodeKHedeMat) LIKE '%" + txtSearch.Text + "%'"; break; }
case "نام سرویس": { query = "Select * from TblAddFactRecKhedeMatErviec where SF_NameServic LIKE '%" + txtSearch.Text + "%'"; break; }
case "شرح و توضیح سرویس": { query = "select * from TblAddFactRecKhedeMatErviec where SF_Distrubuite LIKE '%" + txtSearch.Text + "%'"; break; }
case "هزینه سرویس": { query = "select * from TblAddFactRecKhedeMatErviec where convert(varchar,SF_Pay) LIKE '%" + txtSearch.Text + "%'"; break; }
default: { break; }
}
cmdf.CommandText = query;
cmdf.Connection = conf;
conf.Open();
cmdf.ExecuteNonQuery();
conf.Close();
daf.SelectCommand = cmdf;
dsf.Clear();
daf.Fill(dsf, "t1");
label3.Text = "تعداد وارد یافت شده : " + dataGridView1.Rows.Count;
int sum = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
sum += Convert.ToInt32(dataGridView1.Rows[i].Cells[4].Value);
}
TxtSum.Text = sum.ToString();
dataGridView1.DataSource = dsf.Tables[0];
}
catch
{
FMessegeBox.FarsiMessegeBox.Show(" خطا در اجرا دستورات / خطا 115");
} این کد رو در بالا تعریف میکنی و داخل تکس باکس صداش میزنی به این صورت
private void txtSearch_TextChanged(object sender, EventArgs e)
{
search();
}

136913691369
سه شنبه 07 خرداد 1392, 00:50 صبح
ساختار جدول و ویو رو بزار. کد میزارید یا کامل بزارید یا نصفه نیمه اصلا نزارید. از روی این نیم خط کد چه جوابی میشه داد آخه!
جدول ورزشکاردارای فیلدهای:id,fname,lname,pname,tell.address,s ex,emil,jobو........
جدول تعرفه:ID,SHENASEBIME,HAGHBIME,SHAHRIE,dateو. ...است
viewدارای فیلدid.fname,lnameجدول ثبت وبقیه فیلدتعرفه هست

idدوتاجدول یکی یعنی 1نفروقتی ثبت نام کرد کد(id)بهش میدهبعد باید بیاد تو فرم تعرفه شهریه وحق بیمه بده یعنی میاد عهidرادر جدول ورزشکارجستجو کنه که نام ونام خانوادگیش در فرم تعرفه نشون بدهبعدبقیه اطلاعات ثبت بشه تازه من بجای دیتاگرید list viewدارم