Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Neue Zeile im DBGrid erstellen (https://www.delphipraxis.net/15712-neue-zeile-im-dbgrid-erstellen.html)

mgubler 3. Feb 2004 08:33


Neue Zeile im DBGrid erstellen
 
Hallo zusammen,

gibt es eine Möglichkeit, in einem DBGrid eine neue Zeile zu erstellen?
Ohne DB-Anbindung meine ich.
Der Benutzer soll dann seine Werte da eintragen!

marc

r_kerber 3. Feb 2004 08:39

Re: Neue Zeile im DBGrid erstellen
 
Hallo Marc,

ein DBGrid macht nur Sinn, wenn es an einer Datenbank-Tabelle oder Abfrage hängt. Ergo neue Zeile heißt neuer Datensatz in der DB-Tabelle! Ansonsten mußt Du ein eine "normales" Grid verwenden. Hier erhältst Du eine neue Zeile, in dem Du einfach den Wert der Eigenschaft erhöhst!

mgubler 3. Feb 2004 09:11

Re: Neue Zeile im DBGrid erstellen
 
Danke für die Antwort, r_kerber.

Ich wollte die Einträge danach in eine DB eintragen lassen.
Also erst nach der Eintragung durch den User wird zur DB connected.
Geht das auch mit einem normalen Grid?

mgubler 3. Feb 2004 12:18

Re: Neue Zeile im DBGrid erstellen
 
leerer Post?!?

Hansa 3. Feb 2004 12:29

Re: Neue Zeile im DBGrid erstellen
 
Ja, mache das mit einem normalen Grid. Das DBgrid ist zu unflexibel. Ich mache es so: 1. ReadTransaction starten 2. Werte eingeben und teilweise Daten aus der DB lesen. 3. Abspeichern aller im Grid angezeigten Daten. Hierzu starte ich eine 2. WriteTransaction und gehe das Grid in einem Ritsch durch. Das Grid so herzurichten, daß dies funktioniert war zwar schon Arbeit, aber die lohnt sich. Und durch die 2 Transaktionen ist es sehr sicher und auch schnell.

P.S.: mir fällt gerade ein, daß gestern bei Borland gesagt wurde, die DB und normalen Edits und Co. würden in D8 verschmelzen, so daß es eben z.B. nur noch ein TEdit gibt, das allerdings zusätzlich noch eine datensensitive Komponente hat. Vielleicht bringt das in Zukunft Besserung in diesem Bereich.

Cuchulainn 3. Feb 2004 12:38

Re: Neue Zeile im DBGrid erstellen
 
Du kannst die Werte mit einer Query und einem SQL-Kommando in eine Tabelle eintragen. So oder so ähnlich solte es gehen:
Delphi-Quellcode:

     for I := 0 to Stringgrid1.ColCount - 1 do
     begin
        for J:= 0 to Stringgrid1.RowCount - 1 do
        begin
          Query1.Close;
          Query1.Sql.Clear;
          Query1.Sql.Add('INSERT INTO "' + StrTabelle + '" VALUES ("' + Stringgrid1.Cells[i,j] + '")');
          Query1.ExecSql;
        end;
     end;


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