Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten aus DBGrid auslesen und über MyDac in mySQL einbinden (https://www.delphipraxis.net/52134-daten-aus-dbgrid-auslesen-und-ueber-mydac-mysql-einbinden.html)

LeahCim 24. Aug 2005 10:55

Datenbank: MySQL • Zugriff über: MyDAC

Daten aus DBGrid auslesen und über MyDac in mySQL einbinden
 
Also...weiter gehts...

habe aus einer Excel-Tabelle alle nötigen Daten in ein DB Grid eingelesen und möchte diese jetzt über MyDac ins MySQL einbinden bzw hinzufügen. Hat jemand ne Ahnung wie das geht?

MFG

der Leah...

jensw_2000 25. Aug 2005 23:09

Re: Daten aus DBGrid auslesen und über MyDac in mySQL einbin
 
Ich nehme mal an, der du die XLS Daten über ADO geöffnet hast und dann im Grid darstellst.
Warum verwendest du dann nicht einfach deine AdoTable, liest die Daten dort aus und insertest diese in deine MyDB ?


Delphi-Quellcode:
Procedure TForm1.Xls2My;

  function InsertInToMyDB(SQL:String):boolean;
  begin
    result:=true;
    Try
      MyQuery.SQL.Text:=SQL;
      MyQuery.execute;
    Except
      result:=false;
    End;
  end;

  var S:String;
      ErrorCount:Integer;
begin
  ErrorCount:=0;

  AdoTable.first;
  While not AdoTable.eof do
  begin
    S:='INSERT INTO Table123 (Vorname,Name,PLZ,ORT,Personalnummer) VALUES (';  
    S:=S +''''+ AdoTable.FieldByName('Vorname').AsString +''', ';
    S:=S +''''+ AdoTable.FieldByName('Nachname').AsString +''', ';
    S:=S +''''+ AdoTable.FieldByName('PLZ').AsString +''', ';
    S:=S +''''+ AdoTable.FieldByName('Ort').AsString +''', ';
    S:=S +      AdoTable.FieldByName('PersID').AsInteger +')';

    if NOT InsertInToMyDB(S) then ErrorCount:=ErrorCount + 1;

    AdoTable.next;
  end;

  if ErrorCounr > 0 then Showmessage(Inttostr(ErrorCount) + ' Datensätze wurden nicht importiert');

end;

LeahCim 26. Aug 2005 06:49

Re: Daten aus DBGrid auslesen und über MyDac in mySQL einbin
 
Hallo,
danke für deine Antwort, das nächste mal schreibe ich gleich ne PM zu dir :wink: ,

also, btt:

das ich die Daten aus meiner ADOTable auslesen muss habe ich mir auch schon gedacht, aber leider muss ich ganz bestimmte Datensätze, die vorher ausgewählt werden exportieren...und dann müssen die in der MYSQL Datenbank auch nicht neu angelegt werden sondern zu bestehenden Daten hinzugefügt werden...kurz, da muss auch noch ne Abfrage rein damit er weiß was er wohin packen soll...und dabei bin ich total aufgeschmissen... :wall:

MFG

der Leah...

Sharky 26. Aug 2005 07:03

Re: Daten aus DBGrid auslesen und über MyDac in mySQL einbin
 
Zitat:

Zitat von LeahCim
... aber leider muss ich ganz bestimmte Datensätze, die vorher ausgewählt werden exportieren...

Hai LeahCim,

wie werden die Datensätze den ausgewählt? Durch ein Multiselect im DBGrid? Wenn ja musst Du einfach nur die selectierten Datensätze anspringen und abarbeiten:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ndx: integer;
begin
  if DBGrid1.SelectedRows.Count > 0 then
  begin
    with DBGrid1.DataSource.DataSet do
    begin
      for ndx := 0 to Pred(DBGrid1.SelectedRows.Count) do
      begin
        GotoBookmark(pointer(DBGrid1.SelectedRows.Items[ndx]));
        if (Update-Bedingung) then
        begin
           UpDateMySQL;
        end;
      end;
    end;
  end;
end;
Zitat:

... zu bestehenden Daten hinzugefügt werden...
Was verstehst Du denn unter hinzufügen? Wie ist denn die Zieltabelle in der mySQL-DB aufgebaut?

LeahCim 30. Aug 2005 15:43

Re: Daten aus DBGrid auslesen und über MyDac in mySQL einbin
 
soooo,

hab erstmal alles so hinbekommen wie ich es brauche...aber nun habe ich das Problem, das ich auch Daten von Datenblatt Nr 2 einlesen muss...mit nem 2ten ADOTable klappt das nicht...ne 2te Datasource auch nicht, da ich bei beiden die Verbindungseinstellungen dann Manuel im Code umändern muss....und dann zeigt er mir garkeine Daten mehr an...n 2tes Grid kommt nicht in frage...als was tun wenns brennt? :firejump:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz