PDA

View Full Version : سوال: مشکل در کوئری گرفتن



hamed6704
چهارشنبه 30 تیر 1395, 10:48 صبح
سلام دوستان بنده یک پروژه دارم می نویسم با سی شارپ و بانک اطلاعاتی اکسس تو بخش کوئری یک مشکل دارم .

مشکل: اینکه چن تا شرط and و or در یک select می نویسم ارور میده ...

141577

اینم کد های select که به دو روش نوشتم ارور میده...




string sql = "Select * from Tbl_final where ((date_asli >='{0}' and date_asli <='{1}' and vaziat='{2}'and person_name='{3}')and(name_m1='{4}'or name_m1='{5}')or(name_m2='{6}'or name_m2='{7}')or(name_m3='{8}'or name_m3='{9}'))";
sql = string.Format(sql, txtaztarikh1.Text.Trim().ToString(), txttatarikh1.Text.Trim().ToString(), Vazyat, txtpersonname.Text.Trim().ToString(), txtnamepaygah.Text.Trim(), txtnamepaygah1.Text.Trim(), txtnamepaygah.Text.Trim(), txtnamepaygah1.Text.Trim(), txtnamepaygah.Text.Trim(), txtnamepaygah1.Text.Trim());




روش دوم که اینم همون ارور رو میده

string sqll = "Select * from Tbl_final where date_asli > '" + txtaztarikh1.Text.Trim().ToString() + "' and date_asli <= '" + txttatarikh.Text.Trim().ToString() + "'and vaziat='" + Vazyat + "' and person_name = '" + txtpersonname.Text.Trim().ToString() + "' or name_m1='" + txtnamepaygah1.Text.Trim() + "' or name_m1='" + txtnamepaygah.Text.Trim() + "' or name_m1='" + txtnamepaygah2.Text.Trim() + "'";

محمد رضا فاتحی
چهارشنبه 30 تیر 1395, 10:54 صبح
سلام...پارامترهایی که ارسال میکنید کافی نیست...
با کوئری که شما نوشتید باید تمامی موارد پر و ارسال بشه...احتمالا یکی از فیلدهاتون خالیه

aslan
چهارشنبه 30 تیر 1395, 11:43 صبح
سلام
در کوئری قبل و بعد AND و OR حداقل یک فاصله ( فضای خالی ) هم یادتون نره

محمد رضا فاتحی
چهارشنبه 30 تیر 1395, 12:31 عصر
مشکلشون سر این بود که یکی از فیلدهای مورد استفاده در کوئری داخل دیتابیسشون نبود... و یکی دیگم اینکه بقول دوستمون اسپیس بعضی جاها رعایت نشده