![]() |
delphi BDE Datenbank Abfrage Help
So hallo erstmal :)
Ich bin noch Delphi Neuling und plage mich gerade mit dem versuch einer abfrage ab. Ich habe per Datenbank tutorial MYbase folgendes erstellt: 1 Datenbank mit 4 Feldern | Datum | Ansprachen | Termine | Abschluesse | folgende abfrage möchte ich erstellen : -wenn das Datum mit dem heutigen übereinstimmt -dann letzten datensatz feld:ansprachen editieren -sonst neuer Datensatz bisher sieht das in etwa so aus: procedure TForm2.Button1Click(Sender: TObject); var Ansprachen1:integer; var Datum: TDate ; begin Datum := Date(); ClientDataSet1.LoadFromFile('pa.xml'); ClientDataset1.last; if ClientDataset1.FieldByName('Datum').AsString = datetoStr(Datum) then ClientDataset1.Edit; ClientDataset1.FieldByName('Datum').Asstring :=datetostr( date()); ClientDataset1.FieldByName('Ansprachen').Asstring := inttoStr(+3); ClientDataset1.Post; ClientDataSet1.SaveToFile('pa.xml', dfXML); -------------------------------------------------------------- ClientDataSet1.LoadFromFile('pa.xml'); if ClientDataset1.FieldByName('Datum').AsString <> datetoStr(Datum) then ClientDataset1.Append; ClientDataset1.FieldByName('Datum').Asstring :=datetostr( date()); ClientDataset1.FieldByName('Ansprachen').Asstring := inttoStr(+5); ClientDataset1.Post; ClientDataSet1.SaveToFile('pa.xml', dfXML); der untere teil muss falsch sein da ich dort ein Fehler ausgeworfen kriege. der obere teil funktioniert in soweit das er die zahl verändert und keinen neuen Datensatz macht. naja wäre für jeden Denkansatz sowie Programmierungshilfe dankbar Fehlermeldung : Im projekt test.exe ist eine Exception der Klasse EDataBaseError mit der Meldung 'ClientDataSet1:Datenmenge weder im Editiermodus -noch im einfügemodus' aufgetreten was halt noch nicht funktioniert ist die abfrage an sich bzw kann ich sie nicht testen da -wenn ich im oberen teil statt ClientDataset1.Edit, ClientDataset1.Append schreibe kommt die fehlermeldung -die fehler meldung kommt auch wenn ich ClientDataset1.Edit belasse aber die if abfrage auf undlgeich ändere. Ich fumel da jetzt schon ne ganze zeit rum komm einfach nicht auf die Lösung MFG denjoR |
Re: delphi BDE Datenbank Abfrage Help
Herzlich willkommen in der DP :dp:
Zitat:
Und wo hängt es denn nun genau? |
Re: delphi BDE Datenbank Abfrage Help
Habs Hinbekommen ;)
Sorry wenn mein erster post etwas unstrukturiert und wenig informel war So gehts :) ganz easy
Delphi-Quellcode:
ein bischen nachdenken und pause schadet wohl nicht ^^
procedure TForm2.Button1Click(Sender: TObject);
var y,Ansprachen1:integer; var Datum: TDate ; var X:String; begin Datum := Date(); ClientDataSet1.LoadFromFile('pa.xml'); ClientDataset1.last; X:=ClientDataset1.FieldByName('Datum').AsString; Y:=StrtoInt(ClientDataset1.FieldByName('Ansprachen').Asstring); label1.caption :=X; if X <> datetoStr(date()) then ClientDataset1.Append else ClientDataset1.edit; IF X <> datetoStr(date()) then y:=0; ClientDataset1.FieldByName('Datum').Asstring :=datetostr( date()); ClientDataset1.FieldByName('Ansprachen').Asstring := inttoStr(y+1); ClientDataset1.Post; ClientDataSet1.SaveToFile('pa.xml', dfXML); nochmals korrigierte version es sollte schon ASInteger sein wenn der datensatz Feld ebenfalls Integer ist :)
Delphi-Quellcode:
procedure TForm2.Button4Click(Sender: TObject);
var y:integer; var Datum: TDate ; var X:String; begin Datum := Date(); ClientDataSet1.LoadFromFile('pa.xml'); ClientDataset1.last; X:=ClientDataset1.FieldByName('Datum').AsString; Y:=ClientDataset1.FieldByName('Abschluss').AsInteger; label1.caption :=X; if X <> datetoStr(date()) then ClientDataset1.Append else ClientDataset1.edit; IF X <> datetoStr(date()) then y:=0; ClientDataset1.FieldByName('Datum').AsString :=datetostr( date()); ClientDataset1.FieldByName('Abschluss').AsInteger := (y+1); ClientDataset1.Post; ClientDataSet1.SaveToFile('pa.xml', dfXML); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 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