![]() |
|
Stored Procedure and TSQLDataSet - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : Stored Procedure and TSQLDataSet (/showthread.php?tid=2497) |
Stored Procedure and TSQLDataSet - hasob2000 - 16-10-2010 لدي مشكلة في التعامل مع الاجراءات المخزنة في قاعدة بيانات SQL Server جربت كل الطرق لكنها لم تفلح معي لدي اجراء مخزن يتم تنفيذه بشكل ممتاز عند استخدامها مع TSQLDataSet او TSQLStoredProc و يقوم بارجاع القيمة المطلوب ارجاعها باستخدام الاوامر التالية : ٍٍَSQL Server Stored Procedure كود : ALTER PROCEDURE [dbo].[Temp_Proc2]
AS
BEGIN
select Col1 from dbo.Temp_table1 where Col1 = '10'
ENDDelphi Code كود : SQLDataSet1.Open;لكن عند استخدام احد الاوامر Insert , Delete , Update يعطيني رسالة خطأ ![]() SQL Server Stored Procedure كود : ALTER PROCEDURE [dbo].[Temp_Proc2]
AS
BEGIN
Declare @i int
insert into dbo.Temp_table1 (Col1) values ('abc')
set @i = 10
select @i
ENDStored Procedure and TSQLDataSet - kachwahed - 16-10-2010 السلام عليكم ورحمة الله مثال مرفق ألق عليه ونظرة. بالتوفيق. Stored Procedure and TSQLDataSet - hasob2000 - 17-10-2010 شكرا اخي kachwahed المثال المرفق يستخدم ADO Connection , ADO Stored procedure عدلت قليلا على Stored Procedure كود : CREATE PROCEDURE [dbo].[CheckName]
@aName nvarchar(80)
AS
BEGIN
IF LEN (@aName) > 5
INSERT INTO Customer Values(LEN(@aName), @aName, '', '', GETDATE(), '')
ELSE
[color=Red]return 1[/color]
ENDو اشتغل تمام رجع قيمة في parameter "Return Value" وهذا جيد في حال استخدام ADO لانها تضع Parameter " Return Value" بشكل تلقائي لكن هذه الخاصية غير موجوده في dbexpress (SQLStoredproc) وانا استخدم SQLConnection في برنامج يعتمد على DataSnap Stored Procedure and TSQLDataSet - hasob2000 - 17-10-2010 سوف استخدم طريقة أخرى لكنها تفي بالمطلوب و هي ان يرجع المتغير القيمة التي تم التعديل عليه فيها كالتالي: كود : CREATE PROCEDURE [dbo].[CheckName]
@aName nvarchar(80)
[color=Blue]@MyResult nvarchar (10) OutPut[/color]
AS
BEGIN
IF LEN (@aName) > 5
INSERT INTO Customer Values(LEN(@aName), @aName, '', '', GETDATE(), '')
ELSE
[COLOR="Red"] Set @MyResult = 'Not Correct Names'
[/COLOR]
END |