Mojgan110
07-28-2006, 09:54 PM
:shameb:
يك تابع در SQL Server نوشتم به اين صورت :
CREATE FUNCTION TellMePos(@tbID int = 0)
RETURNS int
AS
BEGIN
DECLARE @RowPos int
SET @RowPos = (SELECT rowpos FROM tbPosition
WHERE ( tbID = @tbID))
RETURN @RowPos
END
كه كار ساده اي هم انجام ميده :: مقدار فلان ستون را با توجه به پارامتري كه بهش ارسال ميشه ، برميگردونه . همين !
اصلا به اين دليل تابع نوشتم كه فكر كردم ميشه مثل توابعي كه در برنامه نويسي مينويسيم ، در برنامه توسط مثلا ADOQuery اجرايش كرد و مقدارش را فراخواني كرد .
ولي اينطور نشد ! مجبور شدم كه اينطوري اجراش كنم :
SELECT dbo.TellMePos(1) as Jaa
خب حالا به مقداري كه اين تابع برميگرداند ، در برنامه احتياج دارم . و مجبور هستم كه مثلا يك Label قرار بدهم و بايندش كنم و اينا :eyes_droped:
ولي من ميخوام يك جوري بشه كه بتوان از توابع Sql ي هم مثل توابع معمولي فراخواني كنيم و استفاده كنيم .
چنين راهي هست ... كه مثلا اينجوري بشه نوشت :
myValue := ADOQuery.Open
ضمنا شما خودتان پيشنهادتان چي هست ؟
يك تابع در SQL Server نوشتم به اين صورت :
CREATE FUNCTION TellMePos(@tbID int = 0)
RETURNS int
AS
BEGIN
DECLARE @RowPos int
SET @RowPos = (SELECT rowpos FROM tbPosition
WHERE ( tbID = @tbID))
RETURN @RowPos
END
كه كار ساده اي هم انجام ميده :: مقدار فلان ستون را با توجه به پارامتري كه بهش ارسال ميشه ، برميگردونه . همين !
اصلا به اين دليل تابع نوشتم كه فكر كردم ميشه مثل توابعي كه در برنامه نويسي مينويسيم ، در برنامه توسط مثلا ADOQuery اجرايش كرد و مقدارش را فراخواني كرد .
ولي اينطور نشد ! مجبور شدم كه اينطوري اجراش كنم :
SELECT dbo.TellMePos(1) as Jaa
خب حالا به مقداري كه اين تابع برميگرداند ، در برنامه احتياج دارم . و مجبور هستم كه مثلا يك Label قرار بدهم و بايندش كنم و اينا :eyes_droped:
ولي من ميخوام يك جوري بشه كه بتوان از توابع Sql ي هم مثل توابع معمولي فراخواني كنيم و استفاده كنيم .
چنين راهي هست ... كه مثلا اينجوري بشه نوشت :
myValue := ADOQuery.Open
ضمنا شما خودتان پيشنهادتان چي هست ؟