PDA

View Full Version : سوال: Cannot perform '=' operation on System.String and System.Double.



sarehhh
جمعه 25 مرداد 1387, 16:06 عصر
سلام دوستان

زیر برنامه ای برای جستجو بر حسب "تاریخ" و یا "شماره فروشنده " مطابق کد زیر دارم. Case 1 نتایج جستجو را به صورت صحیح در دیتاگرید نمایش می دهد، اما case 0 درست کار نمی کنه و Error زیر رو روی خط قرمز می ده می ده.

Cannot perform '=' operation on System.String and System.Double.

ضمنا shamsiDateConvertor() یک تابع برای تبدیل تاریخ میلادی به تاریخ شمسی می باشد و تاریخ شمسی را به صورت string برمی گرداند.

و نوع فیلد Date در دیتابیس text و نوع فیلد SalesManدیتابیس int می باشد.


switch (cmbSearch.SelectedIndex)

{

case 0 :

objDataView.Sort = "Date";

objDataView.RowFilter = "Date =" + shamsiDateConvertor();

break;

case 1 :

objDataView.Sort = "SalesMan";

objDataView.RowFilter = "SalesMan =" + txtSearch.Text;

break;

}


grdDisplay.DataSource = objDataView;


ممنون میشم اگه راهنمایی کنین مشکل کجاست.

علیرضا مداح
جمعه 25 مرداد 1387, 18:05 عصر
سلام دوست عزیز،
چون نوع فیلد Date از نوع string میباشد ، باید هنگام فیلتر ، مقدار آن را میان دو علامت ' قرار دهید :


objDataView.RowFilter = "Date = '" + shamsiDateConvertor() + "'" ;


،/