PDA

View Full Version : خروجی SP در ADO ها



SADAF
دوشنبه 24 دی 1386, 13:35 عصر
همان طور که در صورتی که یک StoredProcedure را در QueryAnalyzer فراخوانی کنیم در بخش Messages نتیجه دستورات اجرا شده (اعم از دستورات Print شده در Sp ) را مشاهده می کنیم ... حال با استفاده از کامپوننتهای ADO یک StoredProcedure در SQL را فراخوانی می کنم.. می خواهم همان خروجی ها را داشته باشم . چگونه ؟؟؟؟؟؟؟؟؟؟؟؟؟

SYNDROME
دوشنبه 24 دی 1386, 14:00 عصر
همان طور که در صورتی که یک StoredProcedure را در QueryAnalyzer فراخوانی کنیم در بخش Messages نتیجه دستورات اجرا شده (اعم از دستورات Print شده در Sp ) را مشاهده می کنیم ... حال با استفاده از کامپوننتهای ADO یک StoredProcedure در SQL را فراخوانی می کنم.. می خواهم همان خروجی ها را داشته باشم . چگونه ؟؟؟؟؟؟؟؟؟؟؟؟؟
خوب دستوری را که در QueryAnalyzer نوشته در ADO بنویس و ADO.Open را که اجرا کنی هما نتایج را در aDO می بینی.
موفق باشید

حمیدرضاصادقیان
دوشنبه 24 دی 1386, 14:24 عصر
خوب دوست عزیز شما که میخوای sp رو اجرا کنی.یک کامپوننت به نام adostoredproc وجود داره که میتونی اونو روی فرم قرار بدی یا از adodataset استفاده کنی.اگر از کامپوننت اول استفاده کنی شما میتونی در قسمت procedurename نام sp خودتو بدی و اگر sp شما شامل دستوراتی هست که نتیجه ای بر میگردنه با دستور open اونو باز میکنی.اگر باید یک تغییراتی در دیتابیست بشه مانند عملیات درج و حذف و غیره باید از دستور exec استفاده کنی.اگر sp شما نیز پارامتری داره با دستور زیر میتونی به پارامترت مقدار بدی.


adosp1.parameters[1].value:=1;

اگر میخوای نتیجه رو روی گرید ببینی میتونی یک datasource قرار بدی روی فرم و adostoredproc رو به اون وصل کنی و گرید رو هم به datasource و پس از اینکه sp رو open کردی نتیجه رو در گرید مشاهده میکنی.
موفق باشی.

SADAF
دوشنبه 24 دی 1386, 17:41 عصر
مشخصه که من اصلاً منظورم رو نرسوندم.
فرض کنید sP دارید با این متن :
Create Proc test
as
select * from sysobjects
Print 'end of Proc'

حال اگر این Sp را در QueryAnalyzer اجرا کنید در بخش Message این خروجی را دارید :

(1315 row(s) affected)
end of Proc

من می خواهم وقتی Sp را در دلفی (به هر روشی) اجرا کردم به این متن خروجی دسترسی داشته باشم.