delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف اربط قاعدة البيانات بالملف التنفيذي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
 كيف اربط DatabaseFileName  بالملف التنفيذي مباشرة بحيث كلما غيرت مكان الملف الذي يحوي البرنامج لا احتاج لتغيير المسار مجددا
قم بالبحث على التعليمة connection string تختلف حسب قاعدة البيانات المستعملة و المكون المستعمل
مثل SQLServer مع المكون FireDac
procedure TForm2.Button1Click(Sender: TObject);
begin
try
FMSSQLDriverLink := TFDPhysMSSQLDriverLink.Create(nil);
FDBConnection := TFDConnection.Create(nil);
FDBConnection.Params.DriverID := 'MSSQL';
FDBConnection.Params.UserName := 'sa';
FDBConnection.Params.Password := '<your_password>';
FDBConnection.Params.Database := '<your_database>';
FDBConnection.Params.Add('server=<your_DB_server>');
FDBConnection.Connected := True;
if FDBConnection.Connected then begin
ShowMessage('Connected successfully');
end;
finally
if FDBConnection.Connected then begin
FDBConnection.Close;
end;
end;
end;
(01-02-2023, 01:30 PM)bouh25 كتب : [ -> ]ما العبارة التي اكتبها في خانة DatabaseFileName تعلم البرنامج بأن قاعدة البيانات مرفقة مع الملف التنفيذي مباشرة بحيث كلما غيرت مكان الملف الذي يحوي البرنامج لا احتاج لتغيير المسار مجددا فهو مرتبط تلقائيا بالملف التنفيذ
وعليك السلام

اولا عليك تحديد نوع قاعدة البيانات
(01-02-2023, 01:30 PM)bouh25 كتب : [ -> ]قم بالبحث على التعليمة connection string  تختلف حسب قاعدة البيانات المستعملة و المكون المستعمل
مثل SQLServer مع المكون FireDac
procedure TForm2.Button1Click(Sender: TObject);
begin
  try
    FMSSQLDriverLink := TFDPhysMSSQLDriverLink.Create(nil);
    FDBConnection := TFDConnection.Create(nil);
    FDBConnection.Params.DriverID := 'MSSQL';
    FDBConnection.Params.UserName := 'sa';
    FDBConnection.Params.Password := '<your_password>';
    FDBConnection.Params.Database := '<your_database>';
    FDBConnection.Params.Add('server=<your_DB_server>');
    FDBConnection.Connected := True;
    if FDBConnection.Connected then begin
      ShowMessage('Connected successfully');
    end;
  finally
    if FDBConnection.Connected then begin
      FDBConnection.Close;
    end;
  end;
end;
هذا الكود يستعمل عند التنفيذ و هو ناجح بارك الله فيك على الاضافة المهمة التي احتاجها عند نقل البرنامج لاكن كيف اكتب مسار قاعدة البيانات الموجودة مع الملف التنفيذي قبل التنفيذي  عند التصميم في خانة  DataBaseFileName
بحيث استطيع ان اجعل عدة نسخة لملف لتصميم البرنامج بحيث يكون كل ملف بقاعدة البيانات المرفقة ضمنه التي توجد في موقع الملف التنفيذي بهذه الطريقة اتجنب امرين الاول عند عمل نسخة من ملف التصميم تكون مرتبطة بقاعدة بياناتها فقط و ثانيا لا احتاج اذا غيرة مكان الملف ان اغير معه مسار قاعدة البيانات
الفكرة هي قبل التنفيذ عند تصميم البرنامج و ليست بعد التنفيذ و شكرا

(01-02-2023, 10:27 PM)larbiparadox كتب : [ -> ]وعليك السلام

اولا عليك تحديد نوع قاعدة البيانات

كيف اكتب مسار قاعدة البيانات الموجودة مع الملف التنفيذي قبل التنفيذي  عند تصميم البرناج في خانة  DataBaseFileName
ليس عن طرريق الكود البرمجي بل كتابة المسار في  DataBaseFileName بحيث استطيع ان اجعل عدة نسخة لملف لتصميم البرنامج بحيث يكون كل ملف بقاعدة البيانات المرفقة ضمنه التي توجد في موقع الملف التنفيذي بهذه الطريقة اتجنب امرين الاول عند عمل نسخة من ملف التصميم تكون مرتبطة بقاعدة بياناتها فقط و ثانيا لا احتاج اذا غيرة مكان الملف ان اغير معه مسار قاعدة البيانات
الفكرة هي قبل التنفيذ عند تصميم البرنامج و ليست بعد التنفيذ و شكرا

(01-02-2023, 10:27 PM)larbiparadox كتب : [ -> ]وعليك السلام

اولا عليك تحديد نوع قاعدة البيانات


كيف اكتب مسار قاعدة البيانات الموجودة مع الملف التنفيذي قبل التنفيذي  عند تصميم البرناج في خانة  DataBaseFileName
ليس عن طرريق الكود البرمجي بل كتابة المسار في  DataBaseFileName بحيث استطيع ان اجعل عدة نسخة لملف لتصميم البرنامج بحيث يكون كل ملف بقاعدة البيانات المرفقة ضمنه التي توجد في موقع الملف التنفيذي بهذه الطريقة اتجنب امرين الاول عند عمل نسخة من ملف التصميم تكون مرتبطة بقاعدة بياناتها فقط و ثانيا لا احتاج اذا غيرة مكان الملف ان اغير معه مسار قاعدة البيانات
الفكرة هي قبل التنفيذ عند تصميم البرنامج و ليست بعد التنفيذ و شكرا
حسب ما فهمت أنت تريد تخزين إعدادات في قاعد بينات محلية لتتصل بقاعدة بيانات أخرى موجودة في جهاز أخر

* ملاحظة : يمكنك تغيير قاعدة بيانات محلية بملف ini.

_ عند تنفيذ البرنامج ولمعرفة مساره أو أين موجود توجد عدة طرق من بينها
كود :
Chemin := ExtractFileDir(Application.ExeName);

_ كمثال لإضافة إسم قاعدة البيانات :

كود :
Chemin_mdb := ExtractFileDir(Application.ExeName) +'mydata.mdb';

ركز على الامر ExtractFileDir(Application.ExeName) و وظفه برمجيا حسب متطلباتك
انظر الى هذا الجواب

https://delphi4arab.net/forum/showthread...0#pid55260
السلام عليكم
1 - ما نوع قاعدة البيانات
2 - وماهي ادوات الاتصال المستعملة .
(03-02-2023, 06:45 PM)Mr.DOS كتب : [ -> ]السلام عليكم
1  - ما نوع قاعدة البيانات
2  - وماهي ادوات الاتصال المستعملة .

1 - Absolute Database
2 - ABSDatabase1 اكتب مسار قاعدة البيانات في خانة DatabaseFileName
** لو وضحت في البداية ما مرادك ، لا سهلت على الأعضاء الاجابة


ستحتاج إلى ABSDatabase1 و ABSTable1


_ ABSDatabase1 هذا المكون هو الذي سنربطه بقاعدة البيانات و شيء المهم سنعطي لقاعدة إسم مختسر في الخصائص DatabaseName كمثال أسميها My_Data

[صورة: 685407001.jpg]

_ الأن نربط ABSTable1 مع ABSDatabase1 ، بعدما سميناها My_Data    في ABSDatabase1 ، نذهب إلي خصائص ABSTable1 في DatabaseName و نضع فيها إسم My_Data    ، بعدها نذهب إلى ABSTable1 في خصائص TableName نعطيها إسم الجدول في قاعدة البيانات الذي سنفتحه
_ نفس الشيء للجداول الاخرى

[صورة: 116670030.jpg]

_ بعدها نذهب إلى الفورم الرئيسية في خصائص الاحداث نضغط مرتين على OnCreate كما هو مبين في الصورة عند الرقم 3

[صورة: 178420613.jpg]


نضع الكود التالي :

كود :
CurDir: String; begin   CurDir := ExtractFilePath(Application.ExeName);   ABSDatabase1.DatabaseFileName := CurDir + 'basedonnees.abs';   ABSDatabase1.Connected:=true;     ABSTable1.Active:=true;     . . .     . . .     . . .     ABSTable5.Active:=true;

[صورة: 265568998.jpg]

* غير إسم ملف قاعدة كمثال أنا وضعته بإسم basedonnees.abs