نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل در تبدیل رشته به عدد هنگام جستجو در دیتابیس

  1. #1
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    مشکل در تبدیل رشته به عدد هنگام جستجو در دیتابیس

    سلام نمیدانم آیا در این باره در انجمن تابحال بحث شده یا خیر ...چون با جستجو موردی پیدانکردم

    یکی از ستون های جدول دیتابیسم بصورت nvarchar(5) هستش و همیشه مقدار عددی میگیره.

    میخواستم هنگام لود کردن در دیتاگرید شرطی بزارم که برای مثال رکورد هایی که این ستونش حداکثر مقدارش 100 باشه رو پیداکنه ...اومدم اینطور نوشتم :

    int zirbana=100;



    var search = (from rows in database.Tbl_Apartments

    where Convert.ToInt32(rows.zirBana.ToString()) <= zirbana


    select new
    {
    rows.id_Apartment,
    rows.sellerName,
    rows.foroshi,
    rows.zirBana,

    }).ToList();


    در این حالت با خطای زیر مواجه میشوم :

    LINQ to Entities does not recognize the method 'Int32 ToInt32(System.String)' method, and this method cannot be translated into a store expression


    ممنون میشوم راهنمایی کنید.
    ناگفته نماند برای ارتباط با دیتابیسی از انتیتی فریمورک استفاده کردم.

    این صفحه رو مطالعه کردم اما متوجه نشدم !
    https://stackoverflow.com/questions/...-int-in-ef-4-0

    جز اینکه بیام اون ستون را از نوع int درنظر بگیریم آیا راهی نداره؟
    آخرین ویرایش به وسیله samiasoft : چهارشنبه 13 شهریور 1398 در 01:27 صبح

  2. #2
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,646

    نقل قول: مشکل در تبدیل رشته به عدد هنگام جستجو در دیتابیس

    سلام توی سی شارپ تابع Val نداریم مگه؟! رشته رو به نوع double تغییر می ده و خطایی در کار نیست !

  3. #3

    نقل قول: مشکل در تبدیل رشته به عدد هنگام جستجو در دیتابیس

    بعضی مواقع لینک و انتیتی با convert مشکل پیدا میکنن
    توصیه میکنم convert رو قبل search بنویسید

  4. #4

    نقل قول: مشکل در تبدیل رشته به عدد هنگام جستجو در دیتابیس

    نقل قول نوشته شده توسط samiasoft مشاهده تاپیک
    سلام نمیدانم آیا در این باره در انجمن تابحال بحث شده یا خیر ...چون با جستجو موردی پیدانکردم

    یکی از ستون های جدول دیتابیسم بصورت nvarchar(5) هستش و همیشه مقدار عددی میگیره.

    میخواستم هنگام لود کردن در دیتاگرید شرطی بزارم که برای مثال رکورد هایی که این ستونش حداکثر مقدارش 100 باشه رو پیداکنه ...اومدم اینطور نوشتم :

    int zirbana=100;



    var search = (from rows in database.Tbl_Apartments

    where Convert.ToInt32(rows.zirBana.ToString()) <= zirbana


    select new
    {
    rows.id_Apartment,
    rows.sellerName,
    rows.foroshi,
    rows.zirBana,

    }).ToList();


    در این حالت با خطای زیر مواجه میشوم :
    LINQ to Entities does not recognize the method 'Int32 ToInt32(System.String)' method, and this method cannot be translated into a store expression


    ممنون میشوم راهنمایی کنید.
    ناگفته نماند برای ارتباط با دیتابیسی از انتیتی فریمورک استفاده کردم.

    این صفحه رو مطالعه کردم اما متوجه نشدم !
    https://stackoverflow.com/questions/...-int-in-ef-4-0


    جز اینکه بیام اون ستون را از نوع int درنظر بگیریم آیا راهی نداره؟
    با سلام
    این راه را هم امتحان کنید...

    int zirbana=100;


    var search = (from rows in database.Tbl_Apartments

    where cast(rows.zirBana as Edm.Int32) <= zirbana
    select new
    {
    rows.id_Apartment,
    rows.sellerName,
    rows.foroshi,
    rows.zirBana,

    }).ToList();

    البته من با نوع nvarchar تست نکردم چون که cast با primitive types کار میکنه!

تاپیک های مشابه

  1. پاسخ: 3
    آخرین پست: سه شنبه 26 آبان 1394, 19:39 عصر
  2. پاسخ: 2
    آخرین پست: پنج شنبه 11 تیر 1394, 16:11 عصر
  3. پاسخ: 7
    آخرین پست: شنبه 11 بهمن 1393, 09:50 صبح
  4. پاسخ: 0
    آخرین پست: چهارشنبه 04 اردیبهشت 1392, 12:01 عصر
  5. سوال: جستجوی فیلد یک دیتابیس در یک دیتابیس دیگه درsql server2000
    نوشته شده توسط programer1389 در بخش SQL Server
    پاسخ: 1
    آخرین پست: چهارشنبه 07 مهر 1389, 10:28 صبح

قوانین ایجاد تاپیک در تالار

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