Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi StringGrid: eingelesene CSV-Datei in DB schreiben (Access) (https://www.delphipraxis.net/22493-stringgrid-eingelesene-csv-datei-db-schreiben-access.html)

Kevin 18. Mai 2004 09:18


StringGrid: eingelesene CSV-Datei in DB schreiben (Access)
 
Ok, ich trau mich jetzt doch zu fragen:

Hab die DP durchsucht, aber nichts passendes oder für mich verständliches gefunden... :? Also bitte nicht schimpfen... :pale:

Mein Frage:

Ich habe eine CSV-Datei in ein StringGrid eingelesen und möchte die Daten nun in eine Accesstabelle wegschreiben. Die Tabelle hab ich mit ADO eingebunden.

Schlag mir doch bitte mal einer von Euch auf den Hinterkopf, damit ich weiß, wie ich weitermachen soll... :oops:

Jens Schumann 18. Mai 2004 09:49

Re: StringGrid: eingelesene CSV-Datei in DB schreiben (Acces
 
Hallo,
evt liest Du erstmal im MSDN die ADO-Dokumentation.
ADO Reference

Kevin 18. Mai 2004 09:56

Re: StringGrid: eingelesene CSV-Datei in DB schreiben (Acces
 
Hallo Jens,

erstmal danke für Deine Antwort. :thuimb:

Ich habe bisher schon einige Tabellen mittels ADO eingebunden und speichere manuell erfaßte Daten auch korrekt ab. Weiterhin konnte ich auch eine Suchfunktion (ADO-Tabelle, variable SQL-Abfrage) vernünftig realisieren. Ich benötige, glaub ich, lediglich (mal wieder) einen Denkanstoß, wie ich das Wegschreiben der Daten von "meinem" StringGrid in eine AccessDB am besten realisieren kann.

Dabei geht es mir sicherlich nicht um einen fertigen Quellcode, nur um die Meinung eines erfahreneren Programmierers, der mir einige Stichworte liefert, anhand derer ich mich dann mit der Problematik selber auseinandersetzen kann.

Gollum 18. Mai 2004 10:02

Re: StringGrid: eingelesene CSV-Datei in DB schreiben (Acces
 
Hallo,

Daten in eine Access-Datenbank kanst Du mit einer TADOQuery und einem SQL-Statement in der Art "INSERT INTO tabelle (Feld1, Feld2, ...) VALUES ([Spalte1, Zeile1], [Spalte2, Zeile1], ...)" schreiben.

Delphi-Quellcode:
// folgendes Beispiel geht einem 3-Spaltigen Stringgrid aus


var aQry:TADOQuery;
     y:Integer;
    sQry:String;
...
aQry:=TADOQuery.Create(nil);
try
  aQry.Connection:=ADOConnection1;
  sQry:='INSERT INTO tabelle (Feld1, Feld2, Feld3) VALUES(:v1, :v2, :v3)';
  for y:=1 to StringGrid1.RowCount do
  begin
    aQry.SQL.Text:=sQry;
    with aQry.Parameters do
    begin
      ParamValues['v1']:=StringGrid1.Cells[0, y];
      ParamValues['v2']:=StringGrid1.Cells[1, y];
      ParamValues['v3']:=StringGrid1.Cells[2, y];
    end; // with
    aQry.ExecSQL;
  end; // for y
finally
  aQry.Free;
end; // try

Kevin 18. Mai 2004 10:06

Re: StringGrid: eingelesene CSV-Datei in DB schreiben (Acces
 
Hallo Gollum,

danke, das sieht so aus, als wäre es genau DER Denkanstoß, den ich gebraucht habe :thuimb:

Werde mich direkt mal dransetzen :coder:

Kevin 18. Mai 2004 16:55

Re: StringGrid: eingelesene CSV-Datei in DB schreiben (Acces
 
Bevor ich es vergesse:

Nochmals hallo Gollum,

super, danke, es hat wunderbar geklappt!!! :thuimb: Ich geb Dir am virtuellen Stammtisch ein virtuelles Bierchen aus :cheers:


Viel DP-Lesen und ab und zu einen Denkanstoß abholen ist wirklich eine geniale Sache hier. Die DP hat mir, ohne es wahrscheinlich zu wissen, schon oft sehr geholfen!!! :hello:

DIE DP IST SPITZE :thuimb:

Jetzt wißt ihr's aber... :-D
...muß ja auch mal gesagt werden...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 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