دلفي و قواعد بيانات MySQL
#1
السلام عليكم و رحمة الله

بعد التحية


عندي قاعدة بيانات على MySQL و نصبت على جهازي الذي يعمل بنظام تشغيل Win7 دلفي Delphi7 و OBDC Drive لضان الاتصال بين قاعدة البيانات و دلفي و ذلك بإنشاء الملف ذو الامتداد .udl و بختيار الصفحة (ADO) و (ADOConnection) و (ADOQuery) و فعلا تحقق ذلك و أصبحت أنفذ الاستعلات من نوع SELECT حتى المعيرة منها بالعبارة where بدون أي مشكلة و تظهر النتائج على دليفي مثلما تظهر على ماي اسكيل لكن عندي مشكلة مع الاستعلامات الحذف و الإضافة و التغيير و إنشاء التقارير.
لذا اطلب منكم إرشادي إلى الحل و إلى روابط لتحميل دروس تساعدني على حل هذي المعضلة

و في الأخير تقبلوا مني فائق التقدير.
الرد
#2
انظر هذا
http://www.delphi4arab.net/forum/showpos...ostcount=1
ابحث في المنتدى ففيه ما يطيب لك ان شاء الله فقط استعمل البحث
لأستهلنّ الصعب أو أدرك المنى    فما انقادت الآمال إلاّ لصابر
الرد
#3
تحياتي أخي mobile
شكرا على اهتمامك بالموضوع و على الرابط الذي يحتوي على معلومات مهمة عن SQL لكن انا لا اعاني مشكلة مع SQL بل مع DEPHI 7 عندما احاول تنفيذ استعلامات الاضافة او الحذف يرفض البرنامج

هذا مثال عن الاستعلام المرفوض
كود :
INSERT INTO stagiaire VALUES ( null, :Nom, :Prenom, :Grade, :Stage, :Origine, :sexe, :Age );
و هذا كود التنفيذ
كود :
procedure TForm1.etnAjouClick(Sender: TObject); VAR nbEnregistrement : integer; begin // dm = dataModule dm.rqtInsertStagiaire.Parameters.ParamByName('Nom').Value := edtNom.Text; dm.rqtInsertStagiaire.Parameters.ParamByName('Prenom').Value := edtPrenom.Text; dm.rqtInsertStagiaire.Parameters.ParamByName('Grade').Value := StrToInt(edtIDGrade.Text); dm.rqtInsertStagiaire.Parameters.ParamByName('Stage').Value := StrToInt(edtIDStage.Text); dm.rqtInsertStagiaire.Parameters.ParamByName('Origine').Value := StrToInt(edtIDOrigine.Text); dm.rqtInsertStagiaire.Parameters.ParamByName('Sexe').Value := edtSexe.Text; dm.rqtInsertStagiaire.Parameters.ParamByName('Age').Value := StrToInt(edtAge.Text); dm.rqtInsertStagiaire.ExecSQL ; nbEnregistrement := dm.rqtInsertStagiaire.ExecSQL ; if nbEnregistrement = 1 then showmessage('un enregistrement ajouté') else showmessage('aucun enregistrement n’’a été ajouté !') ; end;
الرد
#4
اسف على التاخير خرجت لصلاة العشاء قد تراني في المنتى وانا غائب

هل تقصد هذا ولا لدي شك في احتمال لخر لما تقصده

كود :
[align=left] try dm.rqtInsertStagiaire.insert dm.rqtInsertStagiaire.Parameters.ParamByName('Nom' ).Value := edtNom.Text; dm.rqtInsertStagiaire.Parameters.ParamByName('Pren om').Value := edtPrenom.Text; dm.rqtInsertStagiaire.Parameters.ParamByName('Grad e').Value := StrToInt(edtIDGrade.Text); dm.rqtInsertStagiaire.Parameters.ParamByName('Stag e').Value := StrToInt(edtIDStage.Text); dm.rqtInsertStagiaire.Parameters.ParamByName('Orig ine').Value := StrToInt(edtIDOrigine.Text); dm.rqtInsertStagiaire.Parameters.ParamByName('Sexe ').Value := edtSexe.Text; dm.rqtInsertStagiaire.Parameters.ParamByName('Age' ).Value := StrToInt(edtAge.Text); dm.rqtInsertStagiaire.open; showmessage('un enregistrement ajouté'); except showmessage('aucun enregistrement n’’a été ajouté !') ; end; [/align]
لأستهلنّ الصعب أو أدرك المنى    فما انقادت الآمال إلاّ لصابر
الرد
#5
وعليكم السلام ورحمة الله وبركاته
لم أجرب الاتصال MySQL->ODBC->ADO بعد
غير أني استثقله، اقترح عليك الحلول:
- مكونات DevArt MyDAC (تجارية)
- مكونات ZeosLib (مفتوحة المصدر)
- نسخة دلفي أحدث ثم مكونات DBExpress، مع الانتباه إلى المسارات (مكتبات الربط dll) وضبط الإعدادات
بالتوفيق.
الرد
#6
السلام عليكم و رحمة االله

هل تظهر رسالة خطأ أم ماذا ؟
+
كود :
dm.rqtInsertStagiaire.ExecSQL ; nbEnregistrement := [COLOR=Red]dm.rqtInsertStagiaire.ExecSQL ;[/COLOR]
أليس RowsAffected هي ما تبحث عنها ؟
بالتوفيق
الرد
#7
تحباتي اخوتي الاعزاء اعتذر عن تاخري في الرد و السبب اني كنت خارج التغطية
عند تنفيذي للبرنامج و محاولتي ادخال المعلومات عند ضغطي على الزو الذي يحوي الكود تظهر هذي الرسالة :

.jpg   mysql_odbc.jpg (الحجم : 14.27 ك ب / التحميلات : 81)
و بعدها هذي الرسالة :

.jpg   mysql_odbc_.jpg (الحجم : 13.56 ك ب / التحميلات : 77)


الملفات المرفقة
.rar   dbbb.rar (الحجم : 2.74 ك ب / التحميلات : 23)
الرد
#8
السلام عليكم
انا الان لم انصب دريفر MySql
لكن عندك مشكلة في ربط قاعدة البيانات لانه لا يجدها .خذ بنصيحة kachwahed
خاصة مع DBExpress ولا تنسى الملفات dbxmys.dll و libmysql.dll
لأستهلنّ الصعب أو أدرك المنى    فما انقادت الآمال إلاّ لصابر
الرد
#9
شكرا للجميع على تعاونهم الحمد لله لقد تغلبت على المشكلة حيث ان الجهاز يحتوي على اكثر من قاعدة البيانات و عند ما قمت بحديد قاعدة البيانات في الاستعلام تغلبت على المشكل
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم