Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Eintrag aus DBEdit zeitgleich mit anderen Spalten einfügen (https://www.delphipraxis.net/56008-eintrag-aus-dbedit-zeitgleich-mit-anderen-spalten-einfuegen.html)

Avax2k 30. Okt 2005 12:32

Datenbank: ACCESS • Version: 2003 • Zugriff über: ADO

Eintrag aus DBEdit zeitgleich mit anderen Spalten einfügen
 
Ich habe folgendes Problem:
Ich habe 2 DbGrids ..aus DbGrid1 kann ich angeklickte Elemente ins DBGrid2 kopieren und anzeigen lassen, jedoch besitzt die Datenbank im DbGrid2 eine zusätzliche Spalte in der die Größe eingetragen werden soll.. nun kann ich wenn ich in ein DbEdit Feld eine Zahl eintippe die auch dorthin übernehmen ABER wenn ich dann den Eintrag aus DBGrid1 hinzufügen will erscheint er in einer neuen Zeile und die eingetippte Zahl in der Zeile darüber..klar brauch ich dann nur noch die entsprechende Zeile anklicken und DbEdit die Zahl eingeben und diese wird dann nachgetragen..NUR möchte ich es gerne so verbinden, dass der DBGrid1 Eintrag nur dann kopiert wird, wenn im DBEdit Feld eine Zahl steht und diese auch dann gleichzeitig beim Hinzufügen in die selbe Zeile eingefügt wird.

hoffe es ist verständlich was ich machen will..hier eine Skizze:

DBGrid1_____|
Name________|
blabla______|

DBGrid2_____|
Name________|Größe___|
blabla______|200_____|

jetzt passiert eigentlich folgendens:

DBGrid2_____|
Name________|Größe___|
____________|200_____|
blabla______|________|

und es soll eben so funktionieren wie oben aufgezeigt.

marabu 30. Okt 2005 15:13

Re: Eintrag aus DBEdit zeitgleich mit anderen Spalten einfüg
 
Hallo Avax2k.

Dein DBEdit-Feld stört da ein wenig, da du ja mit SQL kopierst - oder? Wenn du da ein Edit-Feld draus machst, dann kannst du dein SQL-Statement zum Kopieren etwa so erweitern, wie ich es an meinem Demo-Beispiel zeige:

Delphi-Quellcode:
const
  SQL_COPY
    = 'INSERT INTO kopie (id, nachname, vorname, groesse) '
    + 'SELECT id, nachname, vorname, %s FROM original '
    + 'WHERE id = :id';

procedure TDemoForm.btnCopyClick(Sender: TObject);
var
  id: integer;
begin
  id := ADODataSet1.FieldValues['id'];
  with ADOQuery do
  begin
    SQL.Text := Format(SQL_COPY, [Edit1.Text]);
    Parameters.ParseSQL(SQL.Text, true);
    Parameters.ParamValues['id'] := id;
    try
      ExecSQL;
      ADODataSet2.Requery([]);
    except
      on E: Exception do
        ShowMessage(E.Message);
    end;
  end;
end;
Grüße vom marabu

Avax2k 30. Okt 2005 16:42

Re: Eintrag aus DBEdit zeitgleich mit anderen Spalten einfüg
 
und auch dieses Mal bin ich dir zu großen Dank verpflichtet @ Marabu :thumb:

hat auf Anhieb funktioniert :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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-2025 by Thomas Breitkreuz