PDA

View Full Version : مشکل در اجرای دستور sql در C#



mehdi_m3
شنبه 03 بهمن 1394, 15:38 عصر
با سلام

من یک کوئری نوشتم که میخوام بر اساس یک فیلد خاصی (فیلدی با محتویاتی از نوع رشته) از تیبل عمل select انجام بدم. مقدار این فیلد رو از یک combobox میگیره ولی وقتی کوئری اجرا میشه اصلا خروجی نمیده حتی بجای combobox از textbox هم استفاده کردم ولی بازم بدون نتیجه بود. ولی وقتی توی دستور مقدار فیلد جستجو را مستقیم وارد کردم خروجی داشت. لطفا راهنمایی کنید که دستور رو چجوری بنویسم که مشکل برطرف بشه. اینم دستوراتی که تو C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎ نوشتم.

string cmd = "select * from Course where cres='{0}'";
string cres = comboBox1.Text;
string.Format(cmd,cres);
DataTable objdataset = new DataTable();
objdataset = clscon.select(cmd);

azitaj
شنبه 03 بهمن 1394, 16:23 عصر
سلام می خواید جستجو کنید؟

mehdi_m3
شنبه 03 بهمن 1394, 16:59 عصر
سلام می خواید جستجو کنید؟

بله میخوام جستجو کنم و تو dataGridView نمایش بدم

kaveh-s
دوشنبه 05 بهمن 1394, 14:47 عصر
سلام
فکر کنم اگه رشته داخل comboboxبه یه اسم دیگه نامگذاری کنید و همون اسم رو تودستور select بگذارید جواب بده
string var1=combobox1.text
string cmd="select *from course where cres='"+var1+"' ";

Mofid.m
دوشنبه 05 بهمن 1394, 14:49 عصر
سلام
بهتر نیت با پارامتر این کارو انجام بدین؟

میشه دستور جستجو تو دیتابیس رو قرار بدین؟

black_binary
دوشنبه 05 بهمن 1394, 14:49 عصر
سلام

string cmd = "select * from Course where cres="+comboBox1.Text
اگر نوع cres هم varchar هست ' هم اول و آخرش بذار یعنی

" ' "+cres+" ' "

mehdi_m3
پنج شنبه 08 بهمن 1394, 16:48 عصر
سلام

string cmd = "select * from Course where cres="+comboBox1.Text
اگر نوع cres هم varchar هست ' هم اول و آخرش بذار یعنی

" ' "+cres+" ' "

سلام
cres از نوع nvarchar هست. یعنی میگید چه کدی بزنم؟

Mahmoud.Afrad
جمعه 09 بهمن 1394, 06:13 صبح
متد Format یک مقدار برمیگردونه که از اون باید استفاده کنید.

string str = "select * from Course where cres='{0}'";
string cres = comboBox1.Text;
var cmd = string.Format(str, cres);
DataTable objdataset = new DataTable();
objdataset = clscon.select(cmd);

mehdi_m3
شنبه 10 بهمن 1394, 22:06 عصر
ممنون مشکل حل شد