1. استخدام Adoconnection و adotable في دلفي
يتم إعداد ADOCONNECTION و ADOTABLE للاتصال بقاعدة البيانات (أستخدم SQLServer) في Delphi كما تم تدريسها في العديد من الكتب ، وليس هناك مشكلة في التشغيل. ثم قمت بتعديله ، والغرض من ذلك هو تعديل قاعدة بيانات الاتصال دون تعديل خاصية ConnectionString الخاصة بـ ADOConnection في Delphi ، ولا يظهر مربع حوار الاتصال.
خطوات التعديل: تعيين logInprompt
Constr: = 'Provider = sqloledb.1 ؛ password = 1982072019 ؛ معرف المستخدم = SA ؛ الكتالوج الأولي = Storagemanagement ؛ مصدر البيانات = 10.16.99.175 ؛
يحاول
loginform.tempadoconnection.connectionString: = const ؛
logInform.TempAdoconnection.connected: = true ؛
يستثني
messagedlg ("اتصال قاعدة البيانات غير صحيح !!
application.layinate ؛
نهاية؛
وبهذه الطريقة ، لا توجد مشكلة في الاتصال بقاعدة البيانات عند تشغيل البرنامج. لكن المشكلة التي تحدث هي أنه في Dlephi Odotable Control لا يمكن الاتصال بجداول لأن خاصية ConnectionString ليس لها قيمة. تم الإبلاغ عن الخطأ على أنه "بيان إذن غير صالح". كيفية استخدام ADOCONNECTION و ODOTABLE الضوابط في دلفي ، وتجنب مربع الحوار اتصال مزعج.
2. استخدم عبارات SQL في Delphi.
نظرًا لأن عبارة SQL تتطلب عروض أسعار مزدوجة لتعيين القيم للسلاسل ، في حين أن الأوتار محاطة باقتباسات واحدة في دلفي ، واجهت بعض المشكلات التي تستخدمها. نتيجة تجربتي هي أن اثنين من الاقتباس المفرد يتم استخدامهما في دلفي بدلاً من عروض الأسعار المزدوجة في عبارة SQL. لا أعرف إذا كان هذا صحيحا؟
ما زلت لا أعرف بالضبط كيفية استخدامه.
3. استخدم adoquery في Delphi 7.0 لإرجاع النتائج.
لقد أبلغت عن خطأ بعد استخدامه ، ولكن هناك برنامج قرص مضغوط يستخدمه بهذه الطريقة دون خطأ. أنا أستخدم المعلمات ['xxxx'] ، ولا يمكنني استخدام .ASSTRING
4. الكود الأصلي:
================================================== =================== =========================
إذا كان Caninsert ثم
يبدأ
مع alldatamodule.aq_othermaterielout تفعل
يبدأ
يغلق؛
sql.clear ؛
sql.text: = 'أدخل قيم أخرى (MaterielId ، المبلغ) (: insertid ،: insertamount ،)' ؛
المعلمات [0]. value: = mymateriel ؛
المعلمات [1]. القيمة: = myamount ؛
execsql ؛
نهاية؛
مع alldatamodule.aq_othermaterielstock تفعل
يبدأ
يغلق؛
sql.clear ؛
sql.text: = 'تحديث مبلغ set set OtherMaterielstock = extre-: updateAmount where: updateId' ؛
المعلمات [0]. value: = myamount ؛
المعلمات [1]. القيمة: = mymateriel ؛
execsql ؛
نهاية؛
materialoutform.close ؛
نهاية؛
بعد هذا الرمز
مع alldatamodule.aq_othermaterielout تفعل
يبدأ
يغلق؛
sql.clear ؛
sql.text: = 'تحديث مبلغ set set OtherMaterielstock = extre-: updateAmount where: updateId' ؛
المعلمات [0]. value: = myamount ؛
المعلمات [1]. القيمة: = mymateriel ؛
execsql ؛
نهاية؛
لا يمكن استخدام وظيفة عرض قائمة التحكم تلقائيًا والتي يمكن استخدامها مع AllDatamOdule ، لكنني أجبرت الكود وراءها على العمل. ماذا يحدث هنا؟