2017-02-13

delphi FireDAC 連線 MYSQL libmysql.dll libmysqld.dll copy

COPY
D:\wamp\bin\mysql\mysql5.5.24\lib\libmysql.dll
D:\wamp\bin\mysql\mysql5.5.24\lib\libmysqld.dll

TO
C:\Program Files (x86)\Embarcadero\Studio\18.0\bin

存取範例
procedure TForm1.Button1Click(Sender: TObject);
var
  filevar : TextFile;
  b,r : string;
  i, x: Integer;
  a: TStringList;
begin
  Memo1.Clear;
  Memo1.Lines.LoadFromFile('../../use.txt', TEncoding.UTF8);
  //if not UseTable.Active then UseTable.Active := true;
  Memo2.Clear;
  for i := 0 to Memo1.lines.count-1 do   //
  begin
    b :=  Memo1.Lines[i];
    a := TStringList.Create;
    a.StrictDelimiter := true;    // Delphi7 沒有這個屬性 :~(
    a.Delimiter := Chr(9);           // 指定TAB為分割字元
    a.DelimitedText := b;       // 要被分割的字串
    //UseTable.SQL.Clear;
    UseTable.SQL.Text := 'SELECT NO FROM temple.`use` where NO = '+a[0];
    UseTable.Open;
    if UseTable.FieldValues['NO']=null then
    begin
      UseTable.ExecSQL('insert into temple.`use`(NO,NAME,ADD1,TEL,MEM,POSYN,RG) values(:v0,:v1,:v4,:v7,:v17,:v18,:v23)', [a[0],a[1],a[4],a[7],a[17],a[18],a[23]]);
      Memo2.Lines.Add('Insert:'+a[0]+','+a[1]+','+a[4]+','+a[7]+','+a[17]+','+a[18]+','+a[23]);
    end else begin
      //UseTable.SQL.Clear;
      UseTable.ExecSQL('update temple.`use` set NAME=:v1,ADD1=:v4,TEL=:v7,MEM=:v17,POSYN=:v18,RG=:v23 where NO=:v0', [a[1],a[4],a[7],a[17],a[18],a[23],a[0]]);
      Memo2.Lines.Add('Update:'+a[0]+','+a[1]+','+a[4]+','+a[7]+','+a[17]+','+a[18]+','+a[23]);
    end;

//    for x:=0 to (a.Count-1) do
//    begin
//      Memo2.Lines.Add(x.ToString+'='+a[x]);
//    end;
  end;
end;

2017-05-28 執行檔 要移動到別台 需要 COPY 以下 這2個 設定檔 放到 同目錄
以下是 MySQL 連線設定檔案範例 在  FDConnectionDefs.ini 最下面
C:\Users\Public\Documents\Embarcadero\Studio\FireDAC\FDConnectionDefs.ini
[mysql]
Database=temple
User_Name=root
Password=xxxxxxxx
Server=127.0.0.1
CharacterSet=utf8
DriverID=MySQL

C:\Users\Public\Documents\Embarcadero\Studio\FireDAC\FDDrivers.ini