PDA

View Full Version : بازیابی مقادیر از متغیر نوع Cursor



sh_m
دوشنبه 12 بهمن 1383, 08:12 صبح
سلام
من تعدادی از سطرها را توسط دستور select در متغیری از نوع cursor قرار داده ام . این کار در یک storeprocedure انجام می شه. حالا می خوام در برنامه ای که در VB.NET دارم از این داده ها استفاده کنم. این storeprocedure دو ورودی و یک خروجی داره .تو خود SQL مشکلی ندارم ولی نمی دونم storeprocedure هایی که خروجی دارند رو(output) چجوری باید در VB.NET اجرا کنم. لطفا اگه کسی می دونه, کد VB.NET لازم برای اجرای این procedure رو به من بگه.
اینم storeprocedure نامبرده:
<span dir=ltr>
CREATE PROCEDURE find_Ktype2 @Kname_cursor2 CURSOR VARYING OUTPUT,
@Kname varchar(20),
@Ktype varchar(30)
AS
SET @Kname_cursor2=CURSOR SCROLL
FOR SELECT *
FROM Kala
WHERE Kname=@Kname AND Ktype LIKE '%'+@Ktype+ '%'
OPEN @Kname_cursor2
GO
</span>
خیلی خیلی ممنونم.

vadood
دوشنبه 12 بهمن 1383, 09:59 صبح
چرا همین SELECT را توی SP اجرا نمی کنی؟ چه نیازی به این CURSOR داری من نمی فهمم

sh_m
دوشنبه 12 بهمن 1383, 10:21 صبح
من که گفتم. می خوام از این storeprocedure در VB.NET استفاده کنم. یعنی از داخل برنامم در محیط VB.NET این procedure رو صدا بزنم و نتیجه را داخل یک dataset ذخیره کنم و از اون استفاده کنم.بنابراین باید حاصل این select رو در جایی نگه دارم . درسته؟ امیدوارم متوجه شده باشید.
متشکرم.

vadood
دوشنبه 12 بهمن 1383, 11:47 صبح
شما از این SP استفاده کنید باید کار شما راه بیفته




CREATE PROCEDURE find_Ktype2
@Kname varchar&#40;20&#41;,
@Ktype varchar&#40;30&#41;
AS
SELECT
*
FROM
Kala
WHERE
Kname=@Kname AND Ktype LIKE '%'+@Ktype+ '%'
GO

sh_m
دوشنبه 12 بهمن 1383, 18:34 عصر
سلام
خیلی خیلی از کمکتون ممنونم . مشکلم تا اینجا حل شد.فقط یه مسئله دیگه مونده. حالا می خوام رکودهای بازیابی شده رو که در درون یک SqlDataReader قراردادم , نشون بدم . از چه شیئی باید استفاده کنم (در VB.NET) که بتونه محتویات یک Datareader رو نشون بده ؟ هر کار کردم نشد. :گیج:
از لطفتون متشکرم.

vadood
دوشنبه 12 بهمن 1383, 19:19 عصر
خواهش می کنم،

سوال بعدی شما باید در بخش VB.Net مطرح بشه، اونجا بهتر می تونن بهتون کمک کنند خلاصه اش اینه که شما بهتره این اطلاعات را توی یک DataSet بریزید و با یک Grid اونا رو نشون بدین