Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Warum funktioniert Neuanlegen nicht? (https://www.delphipraxis.net/92740-warum-funktioniert-neuanlegen-nicht.html)

ConTaCt 25. Mai 2007 08:27

Zugriff über: Ado

Warum funktioniert Neuanlegen nicht?
 
klicke ich auf neuanlage, und habe in Vorname, Nachname und Klasse etwas eingegeben, dann ist plötzlich mein ganzen Grid weg, beende ich das Programm, starte es neu, klicke auf DB-verbinden, dann ist der datensatz vorhanden

Gibt es nicht irgendeine Möglichkeit, das Grid gleich nachdem man auf Neuanlange geklickt hat, irgendwie zu erneuern
grdSchueler.Refresh;
funktioniert irgendwie nicht nicht

Delphi-Quellcode:
   procedure TWinForm.btnNew_Click(sender: System.Object; e: System.EventArgs);
begin
  if (lblFzgNr.Text = '') or (txtMarke.Text = '') or (txtType.Text = '') or (txtBJ.Text = '') then
  begin
    MessageBox.Show('Eingabe fehlerhaft.','Fehler',MessageBoxButtons.OK,MessageBoxIcon.Error);
    txtMarke.Focus;
    exit;
  end
  else
  begin
    //SQL-Statement von Insert
    v_strSQL:= 'Insert into Fahrzeuge (Marke,Type,Baujahr) values (''' + txtMarke.Text + ''',''' + txtType.Text + ''','+ txtBJ.Text + ')';
    ExecCommand;
  end;
end;
[edit=SirThornberry]Datenbankzugriff ergänzt - Mfg, SirThornberry[/edit]

dfried 25. Mai 2007 08:48

Re: Warum funktioniert Neuanlegen nicht?
 
Hast du für uns vielleicht dazu noch ein paar Details?
- Was macht die Prozedur "ExecCommand"?
- Welche Datenbank (Paradox, Interbase, ...)?
- Wie greifst du auf die Datenbank zu (TTable, TQuery)?

ConTaCt 25. Mai 2007 08:57

Re: Warum funktioniert Neuanlegen nicht?
 
- Was macht die Prozedur "ExecCommand"?
- Welche Datenbank (Paradox, Interbase, ...)?
- Wie greifst du auf die Datenbank zu (TTable, TQuery)?


Der zugriff erfolgt mit "ADO"
Datenbank: reicht dir das wenn ich dir sagen, das es eine ganz normale datenbank ist (Office 2007)
ExecCommand: das hat mir ein Freund gesagt ich habs immer mit grdSchueler.Refresh probiert, das es es auch nicht gegangen!

DP-Maintenance 25. Mai 2007 09:02

DP-Maintenance
 
Dieses Thema wurde von "SirThornberry" von "Sonstige Fragen zu Delphi" nach "Datenbanken" verschoben.

alzaimar 25. Mai 2007 09:32

Re: Warum funktioniert Neuanlegen nicht?
 
Deine 'datensensitiven Steuerelemente' bekommen doch gar nicht mit, wer oder was alles in der Datenbank rumfurwerkelt, wenn Du an denen vorbei ein SQL-Kommando direkt an die DB schickst.

Du kannst eine TTable/TQuery nehmen, und die Datenänderungen über die 'Edit' und 'Post' - Methoden implementieren. Dann siehst du die Änderungen gleich im Grid. Das klappt aber nur bei einer Datenbank, bei der nur ein Anwender sitzt.

Wenn mehrere Anwender auf die DB zugreifen, dann siehst du die Änderungen der Anderen natürlich nicht. Dann musst Du dir etwas einfallen lassen.

hoika 25. Mai 2007 10:05

Re: Warum funktioniert Neuanlegen nicht?
 
Hallo,

das Grid wird nur aktualisiert,
wenn du die darauf basierende Query (?) neu aufbaust.


query.Close
Query.Open


Heiko


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