Parsi Coders

نسخه‌ی کامل: گرفتن خروجی از استورپروسیجر
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام ببخشید من اینقدر سوال می پرسم
من یک پروسیجر دارم با 4 تا ورودی و یک خروجی که کد خطا را بر می گرداند .
sql:='SET @errorcode=0;';
       ADOSmamSender.Execute(Sql);
       sql:='CALL EBIMSMS1('''+Tel_No_old+''','''+Message_Send+''',15,@errorcode);';
       ADOSmamSender.Execute(Sql);
       sql:='select @errorcode;';
       ADOSmamSender.Execute(Sql);
تا اینجا کدم درست کال می شه ، حالا می خوام خروجی یعنی همان کد خطا را که خروجی پروسیجر هست را ازش بخونم اما نمی دوونم چطور میشه
'select @errorcode'
جواب کارم رو نمی ده میشه خروجی را بریزم تو یک  متغیر ؟؟؟؟ شما می تونید کمک کنید
درود
خوبی ؟
اینجا سوال زیاد پرسیده میشه و جای سوال هم هست.
از ADOQuery استفاده کن اینجوری میشه

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into Table1');
ADOQuery1.SQL.Add('select Field1 ,Field2 from Table2');
ADOQuery1.SQL.Add('where ArtNo= 1');
NumRows := ADOQuery1.ExecSQL;
ShowMessageFmt('Affected rows on Table2: %d', [NumRows]);

در واقع کد شما این میشه :
 adoquery1.sql.add('SET @errorcode=0;');
adoquery1.sql.add('CALL EBIMSMS1('''+Tel_No_old+''','''+Message_Send+''',15,@errorcode);'');
adoquery1.sql.add('select @errorcode;');
adoquery1.open;
پیروز باشید
سلامبعد از  open کردن خطای زیر را میگیرم
که
attach کردم
message_send داخلش چی هست ؟ مثل اررو sql injection ایجاد میکنه
از
کد:
quotedstr
استفاده کن
اینجوری کن : 
کد:
 adoquery1.sql.add('CALLEBIMSMS1('+quotedstr(Tel_No_old)+','+quotedstr(Message_Send)+',15,@errorcode);');
 
داخل
message_send
یک متن
text
هست با طول متغیر
کدی که دادم جایگزین کردید؟
جواب چی شد؟
هیچی ، من جواب
adoquery1.sql.add('select @errorcode;');
رو می خوام ببینم ، که نمی تونم