PDA

View Full Version : کمک برای نوشتن دستور select



elderado
یک شنبه 12 شهریور 1391, 18:17 عصر
با سلام
دوستان برای نوشتن یک دستور Select که نتایج اون رو داخل یه دیتا گرید ویو میزارم میخوام یه کاری کنم که شرط های دستور select رو خود کاربر وارد کنه و طبق خواسته ی اون عمل Select انجام بشه
لطفا راهنمایی کنید
ممنونم

sinaprog
یک شنبه 12 شهریور 1391, 18:38 عصر
با سلام
دوستان برای نوشتن یک دستور Select که نتایج اون رو داخل یه دیتا گرید ویو میزارم میخوام یه کاری کنم که شرط های دستور select رو خود کاربر وارد کنه و طبق خواسته ی اون عمل Select انجام بشه
لطفا راهنمایی کنید
ممنونم
System.Data.OleDb.OleDbConnection ocn = new System.Data.OleDb.OleDbConnection();
System.Data.OleDb.OleDbCommand ocm = new System.Data.OleDb.OleDbCommand();
//System.Data.OleDb.OleDbDataReader odr;
ocn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\db1.mdb";

ocm.Connection = ocn;

ocm.CommandText = "SELECT * FROM t1 WHERE term=@p1";
ocm.Parameters.Clear();
ocm.Parameters.AddWithValue("@p1", h);
ocn.Open();
ocm.ExecuteNonQuery();
//odr = ocm.ExecuteReader();
ocn.Close();

h یه stringه
می توننی به جاش textBox1.Text قرار بدی

elderado
یک شنبه 12 شهریور 1391, 18:44 عصر
ممنونم ولی من از این کد چیز زیادی متوجه نمیشم
ببین من میخوام کاربر توی چنتا فیلد مشخص کنه که چی می خواد
فیلد ها رو خودم مشخص میکنم ولی کاربر میتونه هرکدوم خودش خواست و لازم داشت رو پر کنه و بقیه رو خالی بذاره
حالا این دستور رو من باید جوری بنویسم که اگه کاربر فیلدی رو خالی گذاشت مقدار اون فیلد توی قسمت شرط های select وارد نشه و اون جاهایی رو که پر کرده بره توی قسمت شرط ها

behnam_khademi
یک شنبه 12 شهریور 1391, 18:59 عصر
ممنونم ولی من از این کد چیز زیادی متوجه نمیشم
ببین من میخوام کاربر توی چنتا فیلد مشخص کنه که چی می خواد
فیلد ها رو خودم مشخص میکنم ولی کاربر میتونه هرکدوم خودش خواست و لازم داشت رو پر کنه و بقیه رو خالی بذاره
حالا این دستور رو من باید جوری بنویسم که اگه کاربر فیلدی رو خالی گذاشت مقدار اون فیلد توی قسمت شرط های select وارد نشه و اون جاهایی رو که پر کرده بره توی قسمت شرط ها

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

mahdi.ahmadian2010
یک شنبه 12 شهریور 1391, 19:03 عصر
دوست عزیز شما میتونید اطلاعاتتون رو توسط یک دیتاتیبل با دیتاگریدویو بایند کنید
سپس با یک DataView روی DataTable شرط ها را اعمال کنید
برای نحوه استفاده از DataView هم میتونید با یک جستجوی کوچک مطالب زیادی پیدا کنید
موفق باشید

sinaprog
یک شنبه 12 شهریور 1391, 19:09 عصر
ممنونم ولی من از این کد چیز زیادی متوجه نمیشم
ببین من میخوام کاربر توی چنتا فیلد مشخص کنه که چی می خواد
فیلد ها رو خودم مشخص میکنم ولی کاربر میتونه هرکدوم خودش خواست و لازم داشت رو پر کنه و بقیه رو خالی بذاره
حالا این دستور رو من باید جوری بنویسم که اگه کاربر فیلدی رو خالی گذاشت مقدار اون فیلد توی قسمت شرط های select وارد نشه و اون جاهایی رو که پر کرده بره توی قسمت شرط ها
System.Data.OleDb.OleDbConnection ocn = new System.Data.OleDb.OleDbConnection();
System.Data.OleDb.OleDbCommand ocm = new System.Data.OleDb.OleDbCommand();
ocn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\db1.mdb";

ocm.Connection = ocn;
if ((string.IsNullOrEmpty(textBox1.Text)) && !(string.IsNullOrEmpty(textBox2.Text)))
{
ocm.CommandText = "SELECT * FROM t1 WHERE term2=@p1";
ocm.Parameters.Clear();
ocm.Parameters.AddWithValue("@p1", textBox2.Text);
}
else if(!(string.IsNullOrEmpty(textBox1.Text)) && (string.IsNullOrEmpty(textBox2.Text)))
{...}
ocn.Open();
ocm.ExecuteNonQuery();
ocn.Close();