AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi table.insert überspeichert daten ?!
Thema durchsuchen
Ansicht
Themen-Optionen

table.insert überspeichert daten ?!

Ein Thema von veetschal · begonnen am 14. Apr 2010 · letzter Beitrag vom 15. Apr 2010
 
veetschal

Registriert seit: 25. Jun 2009
11 Beiträge
 
Delphi 7 Personal
 
#1

table.insert überspeichert daten ?!

  Alt 14. Apr 2010, 23:54
Datenbank: paradox • Version: 7 • Zugriff über: DBE
hey!

hab folgendes problem:

arbeite mit delphi 7 in verbindung mit paradox 7 datenbanken

daten werden aus tabelle per ganz normal per table und datasource in delphi eingelesen und in diversen DBlookupcomboboxen angezeigt

wenn ich nun in meine "haupttabelle" einen neuen datensatz einfügen möchte, so wird per button click zuerst
tablehaupttabelle.insert gesetzt dann die nebentabelle(1)
tabletermin.insert

soweit so gut
die neuen werte der haupttabelle werden vom benutzer per DBEdit felder direkt in die tabellen eingeschrieben während die nebentabelle(1) alleine zum daten aus dblookupboxen auswählen benötigt wird und mit table.post in die tabelle gespeichert

anmerkung: die haupttabelle ist nicht direkt per fremdschlüsselfeld mit der nebentabelle(1) verbunden sondern über eine zweite nebentabelle(2)
also:
haupttabelle - nebentabbele(2) - nebentabelle(1)

jetzt kommt die eigentliche knifflige stelle:
aus einem kalender (datetimepicker) sollen zusätzlich noch neue daten in nebentabelle(1) gespeichert werden. da datetimepicker keine DB komponente ist werden die daten per SQL eingeschrieben:

Delphi-Quellcode:

    tablelv.Post; //haupttabelle

    tabletermin.Post; //nebentabelle(1)

    datum:= frame21.DateTimePicker1.Date;
    Query1.SQL.Text := 'INSERT INTO tabellen\Datum(Datum) VALUES(:datum)';
    Query1.ParamByName('datum').AsDateTime := frame21.DateTimePicker1.Date;
    Query1.ExecSQL;
da delphi was das schließen von tables angeht manchmal leicht verwirrt scheint steht in TForm1.FormClose() noch:

tableLV.FlushBuffers;
tabletermin.FlushBuffers;
tableLV.close;
tabletermin.close;


so jetzt zum springendem punkt:
wenn ich den speicher button drücke wird nur das kalenderdatum (datetimepicker wert) in die tabelle gespeichert die andern felder bleiben vorerst leer.
sobald ich mein programm schließe wird dieser wert überspeichert(?), es wird eine leeres feld während die anderen felder der anderen spalten welche mittels tabletermin.post gespeichert wurden eingeschrieben werden


meine frage lautet also: warum ist das so? wie kann ich das ändern? muss ich statt den wert von datetimepicker direkt in SQL zu speichern ihn zuerst irgendwie in table speichern? wenn ja wie?
there are only 10 kind of people - those who understand binary codes and those who don't
  Mit Zitat antworten Zitat
 


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 01:57 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