تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 25 از 45 اولاول ... 1521222324252627282935 ... آخرآخر
نمايش نتايج 241 به 250 از 449

نام تاپيک: آموزش و سوالات مربوط به استفاده از دستورات Sql در دلفی

  1. #241
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    سلام فرهاد جان خسته نباشید من با راهنمائی های شما برنامه ای نوشته ام که در آن بعنوان مثال دو فیلد f1 و f2 تعریف شده است که هر دو varchar هستند . در صورتیکه مقدار f2 برابر null باشد چگونه با استفاده از دستور locate میتوان آن را جستجو کرد من از دستور ذیل استفاده میکنم ولی جواب نمی دهد.
    locate('f1;f2',vararrayof([Edit1.text,'']),[lopartialkey]) l
    در ضمن وقتی بجای اینکه در f2 مقدار null ذخیره شود مقدار '' را قرار دهیم دستور جواب میدهد.
    خواهشمندم در صورت امکان راهنمائی نمائید
    با سلام و احترام به شما دوست عزيز متاسفانه در اين قسمت اين امكان وجود ندارد. locate و sql دو مقوله كاملا جدا هستند.

  2. #242
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    تا حالا شده نیاز باشه از دو تا Table استفاده کنید ؟ مخصوصا لازم باشه که این 2 تا Table با هم در ارتباط باشند.
    بسيار زياد! join رو جستجو كنيد
    اگه از هر کسی بپرسن چطوری این 2 تا جدول رو به هم مرتبط می کنی ؟
    در جواب میگه : شماره رکورد جدول اول رو تو یه فیلد در جدول دوم ذخیره مینکم
    شخصي كه ازش سوال پرسيدين جواب جالبي نداده ها!
    راه حل خوب برای حل این مشکل چیه ؟
    در جدول اول فيلدي رو اضافه كنيد كه يه شمارنده باشه و اتوماتيك افزايش پيدا كنه
    در جدول دوم اين شماره رو ذخيره كنيد. شماره ركورد اصلا راه حل مناسبي نيست
    اگر ادامه سوالات هم به موضوع اين تاپيك مربوط نميشه لطفا در جاي ديگري مطرح كنيد، من يا ديگر دوستانم جواب خواهيم داد
    موفق باشيد

  3. #243
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2007
    پست ها
    12

    پيش فرض

    فرهاد جان سلام خسته نباشید سؤالاتی داشتم خواهشمندم جواب دهید

    1- در درسهای ارائه شده در خصوص SQL در قسمتی ذکر نمودید در هنگام استفاده از Insert یا Update یا delete بهتر است بجای ADOQuery از ADOCommand استفاده شود علت چیست ؟

    2- در خصوص restore database من بعضی وقتها چه از طریق کد نویسی و چه از طریق خود SQL از این دستور استفاده میکنم با پیغام خطای ذیل مواجه میشوم . چگونه میشود آن را حل نمود ؟ وقتی در داخل برنامه و هنگامی که فایل باز است میخواهیم این دستور را اجرا نماییم آیا امکان پذیر است ؟

    Exclusive access could not be obtained because the database is in use
    RESTORE DATABASE is terminating abnormally

  4. #244
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    سلام
    1- در درسهای ارائه شده در خصوص SQL در قسمتی ذکر نمودید در هنگام استفاده از Insert یا Update یا delete بهتر است بجای ADOQuery از ADOCommand استفاده شود علت چیست ؟
    به نقل از codegear:
    At times I have used a TADOQuery to execute SQL that does not return data, such as running an Update SQL command. If you end up doing this rather than using a TADOCommand, please set Property ExecuteOptions.eoExecuteNoRecords to True first.

    If this is allowed to be False, a Recordset is built in the background which is "costly" and not required. You only need the Recordset when you are returning data. The effect of this setting is most noticeable (I have had improvements approaching ten-fold) when performing updates that apply to many rows, but really this setting should be set to True for any Update, Insert, or Delete SQL.

    Of course you can avoid this altogether by using a TADOCommand instead of a TADOQuery.
    به بيان ساده تر و خلاصه تر براي زماني كه recordsetي توسط دستورات بازگردنده نميشه، بهتره كه از adocommand استفاده كنيد

    2- در خصوص restore database من بعضی وقتها چه از طریق کد نویسی و چه از طریق خود SQL از این دستور استفاده میکنم با پیغام خطای ذیل مواجه میشوم . چگونه میشود آن را حل نمود ؟ وقتی در داخل برنامه و هنگامی که فایل باز است میخواهیم این دستور را اجرا نماییم آیا امکان پذیر است ؟

    Exclusive access could not be obtained because the database is in use
    RESTORE DATABASE is terminating abnormally
    از پيغام خطا مشخصه كه چون در حال استفاده از ديتابيس هستيد نميتونيد جايگزينش كنيد. يك adoconnection ديگه روي فرم بذاريد و به ديتابيس master متصل كنيد و بعد restore كنيد. ضمن اينكه adoconnection مربوط به ديتابيس مورد نظر رو غير فعال كنيد

  5. این کاربر از F A R H A D بخاطر این مطلب مفید تشکر کرده است


  6. #245
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2007
    پست ها
    12

    پيش فرض

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

    1- چگونه میشود مانند دستور row_naumber در sql2005 در sql2000 نیز استفاده کرد؟
    2- من اطلاعات خود را در سالهای مختلف ذخیره میکنم و برای نمایش کلیه اطلاعات مربوط به یک فیلد خاص در این سالها از یک حلقه for و دستور union all استفاده میکنم . اگر سالها پشت سر هم باشند مشکلی ندارم ولی اگر در این حلقه یک سال موجود نباشد با خطای invalid object name mytable مواجه میشوم . حال سؤال من اینست که آیا میشود در ضمن عملیات حلقه و عدم وجود بانک مربوط به یک سال از این خطا عبور کرد یا بایستی قبل از ورود به حلقه ، بانکهای سالها چک شوند تا از موجود بودن آنها مطمئن شوم؟

  7. #246
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    1- چگونه میشود مانند دستور row_naumber در sql2005 در sql2000 نیز استفاده کرد؟
    اطلاع ندارم. شکل دستور رو بنویسید
    2- من اطلاعات خود را در سالهای مختلف ذخیره میکنم و برای نمایش کلیه اطلاعات مربوط به یک فیلد خاص در این سالها از یک حلقه for و دستور union all استفاده میکنم . اگر سالها پشت سر هم باشند مشکلی ندارم ولی اگر در این حلقه یک سال موجود نباشد با خطای invalid object name mytable مواجه میشوم . حال سؤال من اینست که آیا میشود در ضمن عملیات حلقه و عدم وجود بانک مربوط به یک سال از این خطا عبور کرد یا بایستی قبل از ورود به حلقه ، بانکهای سالها چک شوند تا از موجود بودن آنها مطمئن شوم؟
    بله. با دستور زیر از وجود جداول مطمئن بشید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  8. این کاربر از F A R H A D بخاطر این مطلب مفید تشکر کرده است


  9. #247
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2007
    پست ها
    12

    پيش فرض

    فرهاد جان سلام از اینکه زیاد سؤال میکنم معذرت می خواهم . بذار به پای مبتدی بودنم .
    تا آنجا که من فهمیدم دستور EXEC SP_Tables کلیه table های database را نشان میدهد اما من می خواهم در حلقه اگر table موجود نبود دستور select اجرا نشود مانند استفاده از شرط if

    با تشکر
    Last edited by siavash1352; 16-11-2008 at 09:50.

  10. #248
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    فرهاد جان سلام از اینکه زیاد سؤال میکنم معذرت می خواهم . بذار به پای مبتدی بودنم .
    تا آنجا که من فهمیدم دستور EXEC SP_Tables کلیه table های database را نشان میدهد اما من می خواهم در حلقه اگر table موجود نبود دستور select اجرا نشود مانند استفاده از شرط if

    با تشکر
    شما یک query با این دستور بگیرید. بعد برای اجرای select یک if بنویسید که اگر نام جدول مورد نظر شما در رکوردهای یافته شده توسط query بود، دستور select هم اجرا بشه

  11. این کاربر از F A R H A D بخاطر این مطلب مفید تشکر کرده است


  12. #249
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2007
    پست ها
    12

    پيش فرض

    سلام فرهاد جان خسته نباشید
    من در database خود بعنوان مثال دو table به نامهای tab1 و tab2 دارم . از database خود backup میگیرم در هنگام restore کردن چگونه میشود فقط یکی از این table ها مثلأ tab1 را restore کرد و table دیگر مثلأ tab2 بدون تغییر بماند

  13. #250
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    سلام فرهاد جان خسته نباشید
    من در database خود بعنوان مثال دو table به نامهای tab1 و tab2 دارم . از database خود backup میگیرم در هنگام restore کردن چگونه میشود فقط یکی از این table ها مثلأ tab1 را restore کرد و table دیگر مثلأ tab2 بدون تغییر بماند
    شما زماني كه از تمام ديتابيس backup ميگيريد طبيعتا تمام جدول ها رو هم شامل ميشه. براي كار شما فكر ميكنم بهتره قبل از restore كردن محتويات جدولي رو كه قرار هست بدون تغيير بمونه در شيئي مانند clientdataset بريزيد و پس از restore ركوردها رو باز نويسي كنيد. اين راه حلي هست كه به ذهن من رسيد (لطفا اين سوالات رو در تاپيك هاي ديگر مطرح كنيد)

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •