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

نام تاپیک: مشکل در استفاده از Stored Procedure

  1. #1

    مشکل در استفاده از Stored Procedure

    سلام
    برنامه ای نوشتم که برای insert و update دیتابیسم از stored procedure در sql server استفاده می کنم.
    کد زیر رو ببینید:
    with sp do
    begin
    Close;
    ProcedureName:='insert_in_table';
    Prepared:=True;
    Parameters.ParamValues['@percode']:=trim(edPercode.Text);
    .
    //some code
    .
    .
    ExecProc;
    end;
    مشکل اینجاست که کد بالا فقط زمانی کار میکنه که در زمان طراحی ProcedureName مربوط به AdoStoredProcرو مقدار دهی کرده باشم, در غیر این صورت پیام خطای زیر رو میگیرم:
    sp: Parameter '@percode' not found.
    یه مشکل دیگه زمانی هست که در زمان طراحی ProcedureName رو مقدار دهی کنم و بعد میخوام در زمان اجرا نام پروسیجر مورد استفاده رو عوض کنم. که باز هم پیام خطای بالا رو میگیرم.
    لطفا راهنمایی کنید

  2. #2

    نقل قول: مشکل در استفاده از Stored Procedure

    یک سوال دیگه!
    چرا این زیر انجمنهای دلفی اینقدر کم بازدید هست؟؟؟!!!
    از وقتی که این پست رو زدم در عرض 8 ساعت فقط 6 بازدید داشته, اما در بخش مباحث مربوط به برنامه نویسی در Delphi که یک رده بالاتر از این بخش هست از اون زمانی که من پست زدم بیش از 10 تاپیک با پست های مختلف به روز شده!
    اگر واقعا این انجمنها بازدید نداره چرا من قوانین رو رعایت کنم و سوالم رو در جای مخصوص بپرسم؟
    لطفا مدیران گرامی فکری برای این بخش ها هم بکنند
    تشکر

  3. #3

    نقل قول: مشکل در استفاده از Stored Procedure

    مشکل اینجاست که کد بالا فقط زمانی کار میکنه که در زمان طراحی ProcedureName مربوط به AdoStoredProcرو مقدار دهی کرده باشم, در غیر این صورت پیام خطای زیر رو میگیرم
    نباید انتظار داشته باشید که شی ایی که هنوز آن را نساختید، کار هم بکنه. شما تا وقتی که پارامتر Percode@ را نساختید، نمی تونید ازش استفاده کنید؛ بجای ParamValue از CreateParam استفاده کنید تا پارامتر شما ساخته شود.

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


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  4. #4
    کاربر دائمی آواتار delphiprog3000
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Kerman
    پست
    511

    نقل قول: مشکل در استفاده از Stored Procedure

    با سلام.

    این لینکها میتونه کمکتون کنه:

  5. #5

    نقل قول: مشکل در استفاده از Stored Procedure

    نباید انتظار داشته باشید که شی ایی که هنوز آن را نساختید، کار هم بکنه. شما تا وقتی که پارامتر Percode@ را نساختید، نمی تونید ازش استفاده کنید؛ بجای ParamValue از CreateParam استفاده کنید تا پارامتر شما ساخته شود.
    اما من در sp كه در sql server ساختم، پارامتر رو مي سازم:
    CREATE PROCEDURE [dbo].[insert_into_pers]
    (@percode[float](7),
    .
    //some code
    .
    يعني در دلفي هم همين كارها رو انجام بدم؟

    يك سوال ديگه:
    چرا وقتي در زمان طراحي ميخوام procedurename رو مقدار دهي كنم، بعد از نام sp يه ;1 هم اضافه ميشه؟ مثل زير:
    nsert_into_pers;1

  6. #6

    نقل قول: مشکل در استفاده از Stored Procedure

    اما من در sp كه در sql server ساختم، پارامتر رو مي سازم
    وقتی در زمان طراحی SP را انتخاب می کنید، دلفی پارامترها را برای شما میسازه، ولی وفتی در زمان اجرا SP را انتخاب می کنید، خودتون باید به دلفی بگید که چه پارامترهایی داره. البته بعضی کامپوننت ها مثل SDAC خودشون در زمان اجرا هم پارامترها را بطور خودکار میسازند.
    چرا وقتي در زمان طراحي ميخوام procedurename رو مقدار دهي كنم، بعد از نام sp يه ;1 هم اضافه ميشه؟
    چک نکردم، ولی فکر کنم این مقدار پیش فرض پارامتری باشه که برای SP تعریف کردید.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  7. #7

    نقل قول: مشکل در استفاده از Stored Procedure

    وقتی در زمان طراحی SP را انتخاب می کنید، دلفی پارامترها را برای شما میسازه، ولی وفتی در زمان اجرا SP را انتخاب می کنید، خودتون باید به دلفی بگید که چه پارامترهایی داره.
    تشكر حل شد.
    چک نکردم، ولی فکر کنم این مقدار پیش فرض پارامتری باشه که برای SP تعریف کردید.
    اين رو براي sp هاي پيش فرض ديتابيس هم مياره، ممكنه هم به خاطر نوع sp ها باشه.
    به هر حال ممنون. موفق باشيد

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

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