PDA

View Full Version : مشکل در جستجو ترکیبی از database در گزارش



esagraphic
پنج شنبه 05 شهریور 1394, 13:11 عصر
سلام به همه دوستان گل من یک جستجو ترکیبی دارم میان دو تاریخ و چند فیلد دگه همه چیز به درستی کار میکنه اما مشکلش دقیقا اینجاسن مثلاً من تاریخ را انتخاب میکنم و چند ستون دگه ولی چند فیلد را خالی میزارم اینجاست که ایرور میده
در اصل من یه گزارش با خود سی شارپ درست کردم کاری که میکنم فیلتر را توی دیتاسیت انجام میدم بعد از طریق گزارش پارامتر ها را میفرستم اطلاعات را از داخل دیتاسیت به این شکل فیلتر میکنم


SELECT Id, TruckNo, Datefull, DateEmpy, Goods, WeightFull, WeightEmpy, NetWeight, Customername, DriverName, TruckType, Origin, Destination, Barnama, Operator,
towzinType, datefullmiladi, dateemptymiladi, weighttype
FROM Weight
WHERE (datefullmiladi BETWEEN @startid AND @enddate) AND (Truckno = @tid) and goods=@goods and customername=@cuname



ودر فرم که ریچورت اونجاست یک باتن دارم اینجور پارامتر ها را میفرستم






this.WeightTableAdapter.Fill(this.allreport.Weight ,Convert.ToDateTime(miladi1), Convert.ToDateTime(miladi2) , txtgoods.text,txtcuname.text );


this.reportViewer1.RefreshReport();


الان دقیقا مشکل من همینجاست که بعضی وقتا دوست ندارم پارامتر جنس و مشتری را پر کنم خالی باشه اما تاریخ جستجو بشه یا تاریخ خالی باشه
ممنون همه شما

esagraphic
پنج شنبه 05 شهریور 1394, 16:00 عصر
کسی از دوستان نبود

محمد رضا فاتحی
پنج شنبه 05 شهریور 1394, 16:11 عصر
من با دیتاست کار نمی کنم ولی به نظرم(البته اگه اشتباه نباشه)اگه پارامترهای شرطت رو از داخل فرم می گیری روشت اشتباهه...
همونطور که خودت گفتی وقتی مثلا @good خالی باشه ظاهرا دستورت این شکلی می شه

SELECT Id, TruckNo, Datefull, DateEmpy, Goods, WeightFull, WeightEmpy, NetWeight, Customername, DriverName, TruckType, Origin, Destination, Barnama, Operator,
towzinType, datefullmiladi, dateemptymiladi, weighttype
FROM Weight
WHERE (datefullmiladi BETWEEN 1393/01/01 AND 1393/12/29) AND (Truckno = 12) and goods= and customername=15


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

esagraphic
پنج شنبه 05 شهریور 1394, 16:54 عصر
من با دیتاست کار نمی کنم ولی به نظرم(البته اگه اشتباه نباشه)اگه پارامترهای شرطت رو از داخل فرم می گیری روشت اشتباهه...همونطور که خودت گفتی وقتی مثلا @good خالی باشه ظاهرا دستورت این شکلی می شهSELECT Id, TruckNo, Datefull, DateEmpy, Goods, WeightFull, WeightEmpy, NetWeight, Customername, DriverName, TruckType, Origin, Destination, Barnama, Operator, towzinType, datefullmiladi, dateemptymiladi, weighttypeFROM WeightWHERE (datefullmiladi BETWEEN 1393/01/01 AND 1393/12/29) AND (Truckno = 12) and goods= and customername=15مسلما این خطا میده... مگه اینکه ساختار و عملکرد دیتاست طوری باشه که خودش این مساله رو ساپورت کنه...که من با توجه به عدم کار کرد با دیتاست ازش اطلاع ندارمخوب من توی فرمم چند تا تکس باکس دارم وقتی کاربر انها را پر کنه اطلاعات به دیتاسیت فرستاده میشه و ریپورت هم خودشو از دیتاسیت پر میکنه اگه شما روش بهتری برای این کار دارید بفرماید فقط میخوام از ریپورت خود سی شارپ استفاده کنم

esagraphic
جمعه 06 شهریور 1394, 10:56 صبح
دوستان منتظرم کارم گیره