AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi on formcreate leere dbedit felder?!?
Thema durchsuchen
Ansicht
Themen-Optionen

on formcreate leere dbedit felder?!?

Ein Thema von libFelix.so · begonnen am 12. Mär 2004 · letzter Beitrag vom 12. Mär 2004
Antwort Antwort
libFelix.so

Registriert seit: 9. Mär 2004
24 Beiträge
 
Delphi 7 Enterprise
 
#1

on formcreate leere dbedit felder?!?

  Alt 12. Mär 2004, 11:28
hallo.
ich habe ein prog grschrieben, in dem man daten eingibt, und diese dur klicken eines buttons gespeichert werden. ABER: immer wenn ich das form über F9 testen will, steht in den dbedit-feldern der zu letzt eingegebene datensatz. ich möchte jedoch, dass die dbedit felder leer sind, wenn ich das form öffne. is das irgendwie zu machen???

thx schon mal im vorraus

felix
  Mit Zitat antworten Zitat
Cuchulainn

Registriert seit: 26. Aug 2003
182 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: on formcreate leere dbedit felder?!?

  Alt 12. Mär 2004, 11:33
Hallo,

bist du sicher, dass du die Felder nirgendwo füllst? Eigentlich sollten sie leer sein, wenn du das Programm startest. Immerhin werden Fenster und Felder neu erstellt.
  Mit Zitat antworten Zitat
Michael Leyhe

Registriert seit: 1. Dez 2003
Ort: Sprockhövel
101 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: on formcreate leere dbedit felder?!?

  Alt 12. Mär 2004, 11:38
HI

Es sei denn sie sind von anfang nicht leer
Michael
Wer weis vll. ist das Leben ja ein Integer, wenn man negativ genug denkt wird es irgendwann positiv.
  Mit Zitat antworten Zitat
libFelix.so

Registriert seit: 9. Mär 2004
24 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: on formcreate leere dbedit felder?!?

  Alt 12. Mär 2004, 11:38
das ist der code zum speichern

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
  //Ausgabe - Gesamt Schläge incl. Zu-/Abzüge und Gesamt Drops
  //if Table1.State <> dsEdit then
  //  table1.Edit;
  Table1.Append;

end;

der cod der beim öffnen des forms ausgeführt wir:
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
//Tabelle öffnen
table1.Open;


//Namen aus Datei einlesen
with Name do
  begin
    Items.LoadFromFile(extractfilepath(application.exename)+ 'spieler.txt');
  end;

//Orte aus Datei einlesen
with Ort do
  begin
    Items.LoadFromFile(extractfilepath(application.exename)+ 'plaetze.txt');
  end;
end;
  Mit Zitat antworten Zitat
libFelix.so

Registriert seit: 9. Mär 2004
24 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: on formcreate leere dbedit felder?!?

  Alt 12. Mär 2004, 11:40
und der cod, wo die var's definiert werden:
Code:
if (Name.ItemIndex <> -1) and (Ort.ItemIndex <> -1) then
    begin
      if table1.State <> dsEdit then
      table1.Edit;
    //Einlesen der Variablen
    wupb1 := Table1.FieldByName('Bahn1').AsInteger;
    wupb2 := Table1.FieldByName('Bahn2').AsInteger;
    wupb3 := Table1.FieldByName('Bahn3').AsInteger;
    wupb4 := Table1.FieldByName('Bahn4').AsInteger;
    wupb1d := Table1.FieldByName('Bahn1Drops').AsInteger;
    wupb2d := Table1.FieldByName('Bahn2Drops').AsInteger;
    wupb3d := Table1.FieldByName('Bahn3Drops').AsInteger;
    wupb4d := Table1.FieldByName('Bahn4Drops').AsInteger;
  Mit Zitat antworten Zitat
libFelix.so

Registriert seit: 9. Mär 2004
24 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: on formcreate leere dbedit felder?!?

  Alt 12. Mär 2004, 11:42
...und: es handelt sich um dbedit felder. die sind in der tabelle feste felder zugeordnet... un um mich noch genauer auszudrücken... es wird nicht immer der zu letzt eingegebende datensatez angezeigt, sondern immer der erste in der tabelle...sry
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#7

Re: on formcreate leere dbedit felder?!?

  Alt 12. Mär 2004, 11:51
Moin, moin,
hört sich so an, als ob Du neue Felder an die Datenbank anhängen willst
und deshalb brauchst du die leeren Eingabemasken. Das lässt sich machen.

Problem im OnCreate-Ereignis ist noch keine Datenbankverbindung da
hier kann man also noch nichts machen. Das geht erst im OnShow-Ereignis.

Das wird aber nur ausgelöst, wenn visible von false auf true geschaltet
wird und das Formular ffertig aufgebaut ist.

Also:

1. Im OnCreate visible auf false dann wieder auf true;

2. Im OnShow gibtst Du den Befehl "Query.append"
damit sind die Felder dann leer....



Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#8

Re: on formcreate leere dbedit felder?!?

  Alt 12. Mär 2004, 11:57
Hallo,

DBEdit Felder sind an das Recordset gebunden.
Es werden immer die Werte des aktuellen Datensatzes angezeigt, und dies ist in deinem Fall der erste in der Tabelle.

Imho hast du 2 Möglichkeiten:
1.) du verwendest normale Edits und speicherst die Werte über Insert, bzw. Update befehle oder
2.) du verwendest statt der TTable eine TQuery Komponente.
das würde dann ungefähr so ausschauen:
SQL-Code:
Select *
  From TABELLEN_NAME
 Where UNIQUE_KEY = :Nummer
Wenn du einen leeren DS anzeigen willst:
Delphi-Quellcode:
with Query1 do begin
  Close;
  ParamByName('Nummer').AsInteger := -1; // vorausgesetzt es gibt keinen Wert mit -1 in der Tabelle
  Open;
end;
Ich hoffe es hat dir geholfen.

Garby
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:06 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