تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
استيراد بيانات أكسل إلى قاعدة بيانات أكسس باستخدام الدلفي
#1
السلام عليكم
إخوتي الكرام حياكم الله
أريد أن أستفسر عن طريقة استيراد بيانات أكسل إلى قاعدة بيانات أكسس مرتبطة بالدلفي
الرد
تم الشكر بواسطة:
#2
(22-04-20, 11:43 AM)صالح حمادي كتب : السلام عليكم
إخوتي الكرام حياكم الله
أريد أن أستفسر عن طريقة استيراد بيانات أكسل إلى قاعدة بيانات أكسس مرتبطة بالدلفي

كود :
{$APPTYPE CONSOLE}

{$R *.res}

uses
 Data.DB,
 Data.Win.ADODB,
 SysUtils,
 ActiveX,
 ComObj;


procedure ImportDataADO(const AccessDb, TableName, ExcelFileName:String);
var
 LAdoQueryExcel  : TADOQuery;
 LADOAccesCmd    : TADOCommand;
begin
  LAdoQueryExcel:=TADOQuery.Create(nil);
  LADOAccesCmd:=TADOCommand.Create(nil);
  try
   //set the connection string for access
   LADOAccesCmd.ConnectionString:=Format('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s;',[AccessDb]);
   LADOAccesCmd.Parameters.Clear;
   LADOAccesCmd.CommandText:='INSERT INTO Sales (id,name) VALUES (:id,:name)';
   LADOAccesCmd.ParamCheck:=False;

   //set the connection string for excel
   LAdoQueryExcel.ConnectionString:=Format('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1"',[ExcelFileName]);
   LAdoQueryExcel.SQL.Add('SELECT * FROM [Sheet1$]');
   LAdoQueryExcel.Open;
   while not  LAdoQueryExcel.eof do
   begin
     LADOAccesCmd.Parameters.ParamByName('id').Value      := LAdoQueryExcel.FieldByname('id').AsInteger;
     LADOAccesCmd.Parameters.ParamByName('name').Value    := LAdoQueryExcel.FieldByname('name').AsString;
     LADOAccesCmd.Execute;
     LAdoQueryExcel.Next;
   end;
  finally
    LAdoQueryExcel.Free;
    LADOAccesCmd.Free;
  end;
end;


begin
try
   CoInitialize(nil);
   try
     ImportDataADO('C:\Datos\Database1.accdb','Sales','C:\Datos\Sales.xlsx');
     Writeln('Done');
   finally
     CoUninitialize;
   end;
except
   on E:EOleException do
       Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode]));
   on E:Exception do
       Writeln(E.Classname, ':', E.Message);
end;
Writeln('Press Enter to exit');
Readln;
end.
الرد
تم الشكر بواسطة: asemshahen5 , صالح حمادي
#3
بارك الله فيك و جزاك الله خيرا
الرد
تم الشكر بواسطة: asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] فتح قاعده بيانات ahmedramzyaish 1 285 21-12-19, 12:41 PM
آخر رد: viv
  [سؤال] فتح قاعده بيانات ahmedramzyaish 1 330 15-12-19, 12:01 AM
آخر رد: abu ammar
  من اين أبدأ في الدلفي لسه مبتدئ 2 473 27-07-19, 11:07 AM
آخر رد: viv
  [سؤال] تحميل بيانات من ملف نصي الى قائمة نصية او list سعود 3 647 07-07-19, 12:01 AM
آخر رد: abu ammar

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


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