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

نام تاپیک: جستجو بین دو تاریخ فقط درsql serverکمک فوری

  1. #1

    جستجو بین دو تاریخ فقط درsql serverکمک فوری

    باسلام.قبل از طرح مساله از دوستان خواهش می کنم از طرح جمله"قبلا مطرح شده" پرهیز کنند
    دوستان گرامی من کدی از sqlاحتیاج دارم که دو تاریخ را از دو text boxبگیره و مقادیر بین دوتاریخ را در یک جدول از sql server(فقطsql server)بعد نتیجه را در یک datagridنمایش بده.لازم به ذکره که من کدهای مختلفی رو مانند کد زیر امتحان کردم وجواب نداده.
    RS.Open "select * from employees where tdate between #" & CDate(txtfrom.Text) & "# and #" & CDate(txtTo.Text) & "#", CN

  2. #2
    اگه بحث محاسبه اختلاف تاریخ در بانک SQL است حتما باید فیلدتان از نوع تاریخ باشد در اینصورت تابع مطرح شده در SQL که خودتان اشاره فرمودید جواب می دهد ولی چون فیلدهای تاریخ با تاریخ شمسی مشکل دارد من پیشنهاد سه فیلد عددی مجزا (روز-ماه-سال) را برای این کار می کنم که با نوشتن یک تابع ساده می توان تفاوت تاریخ را محاسبه نمود

  3. #3

    نوع ورودی تاریخ

    به نظر من تاریخ رو یک فیلد عددی انتخاب کن و تاریخ مثلا 12/12/84 را به صورت 841212 وارد کن و برای جستجو و کوری گرفتن به این ترتیب عمل کن Between 841212 and 841229
    اینجوری دیگه مثلا تو تاریخ 31/2/85 هیچ مشکی ندارید چون تاریخ 31/2 میلادی وجود نداره

  4. #4
    کاربر دائمی آواتار hadi2345
    تاریخ عضویت
    بهمن 1383
    محل زندگی
    تبریز
    سن
    46
    پست
    595
    با سلام .

    برای جستجو بین دو تاریخ شما میتونید تاریخ رو به صورت String ذخیره کنید و هنگام جستجو هم با استفاده از Replace و Cast ، جستجوی خودتونو انجام بدید .

    Select * From YourTable Where CAST(REPLACE(DateField , ' / ' , '' ) AS NUMERIC ) BETWEEN
    " & StartDate & " AND " & EndDate & "

    در این کد نام فیلد تاریخ شما ، DateField میباشد و دو متغیر StartDate و EndDate ، تاریخ شروع و پایان میباشد که توسط کاربر وارد می شود و نوع این متغیرها هم Integer است .
    و قبل از جستجو ابتدا باید دو تاریخ ورودی کاربر رو به عدد تبدیل کنید . مثلا 01/01/85 به 850101 تبدیل می شود . البته من از این روش تو دات نت استفاده میکنم و نباید برای VB.6 مشکلی داشته باشه .

    موفق باشید .
    آخرین ویرایش به وسیله hadi2345 : سه شنبه 22 فروردین 1385 در 16:09 عصر

  5. #5
    کاربر دائمی آواتار yavari
    تاریخ عضویت
    مهر 1384
    محل زندگی
    ایران - یزد
    پست
    1,014
    سلام

    حمید جان
    اگه تاریخ تو بانک sql اینجوری ذخیره بشه پیشنهادتون برا مشاهده اون به فرمت تاریخ چیه ؟؟؟
    فرض کنید که قراره اطلاعات تو دیتا گرید ریخته بشن

    ممنون

  6. #6
    سلام
    دو روش می توان استفاده کرد
    1- هنگام کوری گرفتن مثلا بجای انتخاب Select Date From Table بنویس
    Select Format(Date,'##/##/##') as Fdate from Table
    در این روش فیلد Date به Fdate تغییر می کنه که Fdate هر چی بخوای می شه بذاری
    2- تو گرید فرمت فیلد تاریخ را به صورت ##/##/## انتخاب کن

    این دستور به صورت خود کار دو رقم، دو رقم بین اعداد اسلش می زاره
    اگر بازم مشکلی بود در خدمتم

    در ضمن سرعت عمل این روش به نظر من بیشتر از روشهای دیگر است چون فقط بین دو عدد جستجو می شه و هیچ تبدیل نداره و تو تاریخ های خاص مشکل نداره اگر خواستی یک برنامه (مثال) برات بنویسم
    آخرین ویرایش به وسیله hamid2002ir : چهارشنبه 23 فروردین 1385 در 08:42 صبح

  7. #7
    کاربر دائمی آواتار yavari
    تاریخ عضویت
    مهر 1384
    محل زندگی
    ایران - یزد
    پست
    1,014
    سلام

    حمید جان
    خیلی خیلی از راهنماییتون ممنونم

    من شخصا روش شما رو می پسندم و همیشه روش پیشنهادیم همین بوده !
    اما حالا گیر افتادم
    میدونم که این سوالو نباید اینجا بپرسم اما اگه بلدی همین جا جواب بده
    ببینید این کار فقط تو vb جواب میده
    من برا asp.net هر دو روش شما رو تست کردم جواب نگرفتم
    عین عبارت فرمت میاد تو خروجی !!!
    اگه بلدی ، ممنون میشم راهنماییم کنید

    بازم ممنون

  8. #8
    من با asp.net کار نکردم ولی با asp مشکلی نداشتم
    فکر می کنم فرمت را باید بعد از کوری که می گیری در داخل برنامه از فرمت استفاده کنی
    مثلاً
    a = format(Datefiled,"##/##/##") d
    آخرین ویرایش به وسیله hamid2002ir : چهارشنبه 23 فروردین 1385 در 12:07 عصر

  9. #9
    کاربر دائمی آواتار yavari
    تاریخ عضویت
    مهر 1384
    محل زندگی
    ایران - یزد
    پست
    1,014
    سلام

    نه ، میخوام تو گرید بریزم
    ولی خب ، ممنون

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

  1. چجوری لیست نام serverهای یه شبکه رو دربیاریم
    نوشته شده توسط komail_sh در بخش VB.NET
    پاسخ: 6
    آخرین پست: شنبه 30 دی 1385, 18:30 عصر
  2. یک کتاب فارسی خوب و کامل SQL SERVERچیست؟
    نوشته شده توسط ali_abbasi22145 در بخش SQL Server
    پاسخ: 1
    آخرین پست: چهارشنبه 30 آذر 1384, 16:27 عصر
  3. تغییر کلمه رمز کابری که به بانک sql serverمتصل است
    نوشته شده توسط موسوی در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 0
    آخرین پست: یک شنبه 25 آبان 1382, 20:07 عصر
  4. خطای برنامه در جایی که sql serverنصب نیست
    نوشته شده توسط jannati در بخش مسائل مرتبط با نصب و راه اندازی
    پاسخ: 3
    آخرین پست: پنج شنبه 06 شهریور 1382, 01:21 صبح

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

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