الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Query Parameter with Delphi

مغلق
بدأه pharaoh في 5 يناير 2006 · 3 رد · 571 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندما نرغب فى عمل Parameter Value فى الدلفى لقاعدة بيانات أوركل

على سبيل المثال

Query1.Sql.Text := 'Select Empcode From Emps Where Empcode = :X';
Query1.Params.ParamByName('X').Value := '1';
Query1.Active := True;

حيث انه يطلب منى قيمة للمتغير X

عندما نرغب فى عمل Parameter Value فى الدلفى لقاعدة بيانات أكسيس

على سبيل المثال

Query1.Sql.Text := 'Select Empcode From Emps Where Empcode = X';
Query1.Params.ParamByName('X').Value := '1';
Query1.Active := True;

السؤال الأول كيف يتسنى لى هذا بال Sql Server ؟

السؤال الثانى هل توجد طريقة لتوحيد بين كل ذلك عن طريق الدلفى اى انى ارسل بارمتير ولا يهم ما هى قاعدة البيانات ؟

#2

الأفضل في هذه الحالة يا معلم أن تقوم ببرمجة إجراء مخزن أسهل و أفضل وأسرع بكثير ..

أتمنى أن تعطيني رأيك ...................

مثال :

أدخل إلى قاعدة بياناتك عبر الـ Enterprise manager وقم في قسم الإجراءات المخزنة بإنشاء هذا الإجراء :

create proc Customers_Insert
 @id int ,
 @name nvarchar(30)
as
 insert into Customers_TB values(@id , @name)
go

ثم استخدم AdoStoredProcedure كما يلي :

with adS do 
begin 
 adS.procedurename := 'Customers_Insert;1';
 adS.parameters.parameterByName('@id').value := 2; 
 adS.parameters.parameterByName('@name').value := 'ahmad';
 adS.execproc;
end;

المبرمج عماد .. B) B)

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#3

السلام عليكم ورحمة الله وبركاته

شكرا لك اخى عماد على الرد ولكنى اريد ان يكون الحل دينميك

لا اريد عمل Store Procedure

اقتباس
الأفضل في هذه الحالة يا معلم أن تقوم ببرمجة إجراء مخزن أسهل و أفضل وأسرع بكثير ..

انا اعلم اكيد انه اسرع ولكنى لا اعلم اسماء الجدوال او الحقول فانا أحاول عملها بشكل عام ولا اضطر الى عمل اجراء مخزن

شكرا لك على كل حال ;) :D

#4

السلام عليكم جميعاً :

أخ pharaoh :

1- أنا لم أكن أعلم أنك تريد طريقة ديناميكية ولو كنت أعرف لكنت أجبتك بطرقة مختلفة .

:lol: :lol: :lol: :lol: :lol:

2- أنا صراحة كنت أفكر من فترة بهذا الموضوع بالذات حتى أني طلبت المساعدة بهذا الخصوص

في منتدى الـ SqlServer و عنوان المشاركة هو كما أذكر :

اقتباس
هل يمكن تمرير أسماء الحقول والجداول كبارامترات

و كان الجواب إيجابياً للغاية ...

وسأعطيك الفكرة الجديدة التي أفكر بها لـ تمرير أسماء الحقول والقيم و الجداول كما تشاء للإجراء

المخزن العام : سأبدأ بدلفي :

adS.parameters.parameterByName('@Fields').value := 
'field1,field2,field3[,....]';

adS.parameters.parameterByName('@Values').value := 
'value1,value2,value3[,...]';

adS.parameters.parameterByName('@TB').value := 
'TB_Name';

adS.Execproc;

يوجد يا أخ pharaoh دوال تساعدك في الـ T-sql تساعد في هذا الموضوع وهي :

1- الدالة :

 SubString(@param , startPOS , Length);

2- دوال أخرى لها علاقة بالتعامل مع النصوص لا يحضرني الاّن أي منها

3- الحلقات While :

4 - sp_ExecuteSql @query : حيث المتغير @query هو متحول محلي في الإجراء المخزن من نوع :

Declare @query varchar(8000)

توضع فيه عبارة الـ sql بعد تجميعها في الإجراء المخزن

وإن شاء الله سأطرح الحل عندما أكتب الكود ... فهذه هي عناصر حل المسألة التي دارت في ذهني الان

المبرمج عماد .. B) B)

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

هذا الموضوع مغلق.

مواضيع مشابهة