![]() |
Daten in StringGrid einlesen und in DB abspeichern
Hallo ich bins schon wieder!
Vielleicht kann mir jemand sagen, was ich bei diesem code verkehrt habe, dass 5x hintereinander nur die 1. Zeile geschrieben wird. Auuserdem bräuchte ich noch Hilfe, um die StringGrid in eine Tabelle abzuspeichern. Ich möchte die Daten von einer Tabelle auslesen, in die StringGrid eintragen und anschliesend in eine andere DB abspeichern. Vielleicht kann mir jemand helfen.
SQL-Code:
Danke im Voraus
var
sSQL, s1SQL: String; i: Integer; begin try Query1.Close; Query1.SQL.Clear; sSQL := 'SELECT VertragNr, KundenNr, Bezeichnung FROM Vertrag where AbrechPartner = "' + DBLookupComboBox1.KeyValue + '; Query1.sql.add(sSQL); Query1.Active:=True; except end; stringgrid1.Cells[0,0] := 'id'; i := 1; try stringgrid1.Cells[1,0] := 'Vertrag:'; stringgrid1.Cells[2,0] := 'KundenNr:'; stringgrid1.Cells[3,0] := 'Vertrag:'; while not query1.Eof do begin stringgrid1.Cells[3,i] := tblVertrag1.FieldByName('KundenNr').AsString; stringgrid1.Cells[2,i] := tblVertrag1.FieldByName('VertragNr').AsString; query1.Next; i := i+1; end; Rene |
Re: Daten in StringGrid einlesen und in DB abspeichern
Hi,
ich würde erstmal meinen das deine sSQL nicht ganz richtig ist:
SQL-Code:
oder
sSQL := 'SELECT VertragNr, KundenNr, Bezeichnung FROM Vertrag where AbrechPartner =' + DBLookupComboBox1.KeyValue;
SQL-Code:
und dann den parameter erstzen:
sSQL := 'SELECT VertragNr, KundenNr, Bezeichnung FROM Vertrag where AbrechPartner =:a';
Delphi-Quellcode:
Vielleicht hilft es.
Query.Params.ParamByName('a').Value:=DBLookupComboBox1.KeyValue;
Plautzer |
Re: Daten in StringGrid einlesen und in DB abspeichern
Hallo Plautzer!
Wenn ich die SQL auf eine DBGrid anwende, funktioniert es. Es listet mir genau das auf, was ich möchte. Kann es sein, dass es bei StrinGrid anders ist? Gruß Rene |
Re: Daten in StringGrid einlesen und in DB abspeichern
Das ganze sieht etwas nach Konfuzius aus. :mrgreen:
Z.B. hier :
Delphi-Quellcode:
sSQL := 'SELECT VertragNr, KundenNr, Bezeichnung FROM Vertrag where AbrechPartner = "' + DBLookupComboBox1.KeyValue + ';
Bevor der Source nicht einigermaßen verständlich und logisch aufgebaut ist, kommst du wohl nicht sehr weit. Früher vielleicht mal C gemacht ? :lol: |
Re: Daten in StringGrid einlesen und in DB abspeichern
Hallo Hansa!
Habe vor ca 20 Jahren Dbsase gemacht, seitdem nichts mehr. Also totaler Anfänger. Aber vielleicht kannst Du mir trotzdem ein paar Tips geben. Danke |
Re: Daten in StringGrid einlesen und in DB abspeichern
hmm, sollte das hier:
Delphi-Quellcode:
nicht eher so sein? :
stringgrid1.Cells[1,0] := 'Vertrag:';
stringgrid1.Cells[2,0] := 'KundenNr:'; stringgrid1.Cells[3,0] := 'Vertrag:';
Delphi-Quellcode:
cu
stringgrid1.Cells[0,1] := 'Vertrag:';
stringgrid1.Cells[0,2] := 'KundenNr:'; stringgrid1.Cells[0,3] := 'Vertrag:'; ereetzer |
Re: Daten in StringGrid einlesen und in DB abspeichern
Liste der Anhänge anzeigen (Anzahl: 1)
Mein Quellcode lauted:
SQL-Code:
und was dabei rauskommt, siehst du auf der Abbildung.
procedure TForm8.DBLookupComboBox1CloseUp(Sender: TObject);
var sSQL, s1sql: String; i: Integer; begin i :=1; Query1.Close; Query1.SQL.Clear; sSQL := 'SELECT VertragNr, KundenNr FROM Vertrag where AbrechPartner = "' + DBLookupComboBox1.KeyValue +'"'; stringgrid1.Cells[1,0] := 'VertragNr:'; stringgrid1.Cells[2,0] := 'KundenNr:'; Query1.sql.add(sSQL); Query1.Active:=True; while not query1.Eof do begin stringgrid1.Cells[2,i] := tblVertrag1.FieldByName('KundenNr').AsString; stringgrid1.Cells[1,i] := tblVertrag1.FieldByName('VertragNr').AsString; i := i+1; query1.Next; Query2.Close; Query2.SQL.Clear; s1SQL := 'SELECT Sum(Zeichensumme) As Summe FROM Vertrag where AbrechPartner ="' + DBLookupComboBox1.KeyValue +'"'; Query2.sql.add(s1SQL); Query2.Active:=True; Edit1.Text := (Query2.FieldValues['Summe']) end; end; end. Mir wäre aber schon geholfen, wenn mir jemand sagen kann, wie ich die DBGrid in eine Tabelle speichern kann. |
Re: Daten in StringGrid einlesen und in DB abspeichern
So läßt sich ein Stringgrid aus der Datenbank füllen :
Delphi-Quellcode:
Das unnötige habe ich rausgeschmissen und den Source aufgeräumt. :lol: Die Summe am Schluß würde ich vorerst mal außer Acht lassen.
procedure TForm8.DBLookupComboBox1CloseUp(Sender: TObject);
var s1sql: String; i: Integer; begin i :=1; Dataset1.Close; Dataset1.SelectSQL.Text := 'SELECT VertragNr, KundenNr FROM Vertrag where AbrechPartner = "' + DBLookupComboBox1.KeyValue +'"'; Dataset1.Open; // Datenmenge steht nun bereit stringgrid1.Cells[1,0] := 'VertragNr:'; stringgrid1.Cells[2,0] := 'KundenNr:'; while not Dataset1.Eof do begin stringgrid1.Cells[1,i] := Dataset1.FieldByName ;('VertragNr').AsString; stringgrid1.Cells[2,i] := Dataset1.FieldByName('KundenNr').AsString; i := i+1; Dataset1.Next; END; end; |
Re: Daten in StringGrid einlesen und in DB abspeichern
Hallo Hansa!
Habe es probiert, funktioniert SUPER, wenn Du mir noch sagen könntest, wie ich das in eine DB speichern kann, wäre ich Dir übeaus dankbar. Rene |
Re: Daten in StringGrid einlesen und in DB abspeichern
Sehe ich das richtig : du willst Daten erst einmal in das Stringgrid lesen, sie dann ändern und dann zurückschreiben ? Leider muß ich aber sofort weg.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz