![]() |
Datenbank: ACCESS • Version: 2003 • Zugriff über: ADO
SQL Statement will nicht
allmählich bekomme ich ich das Gefühl, dass ich dringend eine Pause vom Programmieren braucht..ständig tauchen Fehler auf, die so lapidar sind und dennoch ich nicht darauf komme weshalb es nicht funktioniert :(
Delphi-Quellcode:
soweit man erkennen kann versucht ich in die Spalte 'Datum' and der Stelle an der 'Benutzer ID' den Wert 10 hat, das heutige Datum reinzuschreiben. Und plötzlich meldet mir Delphi, dass in der FROM Clausel ein Fehler ist..
const SQL_COPY1
= 'INSERT INTO PROFIL(Datum)' +'SELECT *, %s FROM PROFIL' +'WHERE BenutzerID = 10'; ... ADODataSet.Close; ADODataSet.CommandText := Format(SQL_COPY1, [DateToStr(Date)]); ADODataSet.Open; ... Variante 2 ist so:
Delphi-Quellcode:
hier meldet Delphi, dass AdoDataSet kein Feld mit der Bezeichnung BenutzerID hat... das stimmt aber nicht denn es ist definitiv da und funktioniert auch in einer anderen Funktion tadellos... weiss nicht woran es liegt..
const SQL_COPY1
= 'INSERT INTO PROFIL(Datum)' +'SELECT *, %s FROM PROFIL' +'WHERE BenutzerID = :ID'; ... ADODataSet.Close; ADODataSet.FieldValues['BenutzerID'] := Label1.Caption; ADODataSet.CommandText := Format(SQL_COPY1, [DateToStr(Date)]); ADODataSet.Open; ... hoffe jemand kann mir da einen Tipp geben... und ich weiss dass es Kinderkram hier sit aber dennoch nervt es mich :( |
Re: SQL Statement will nicht
Versuch mal den String ohne + (also in eine Zeile) zu schreiben.
Sieht so aus als würden Leerzeichen fehlen. |
Re: SQL Statement will nicht
Du nennst den Paramter ID und versuchst einen parameter BenutzerID zu fülle,
Delphi-Quellcode:
const SQL_COPY1
= 'INSERT INTO PROFIL(Datum)' +'SELECT *, %s FROM PROFIL' +'WHERE BenutzerID = :ID'; ... ADODataSet.Close; ADODataSet.FieldValues['BenutzerID'] := Label1.Caption; ADODataSet.CommandText := Format(SQL_COPY1, [DateToStr(Date)]); ADODataSet.Open; |
Re: SQL Statement will nicht
Zitat:
Delphi-Quellcode:
Oder Füge das Feld 'BenutzerID' in die Fieldliste vom ADODataSet.
// ...
ADODataSet.FieldByName( 'BenutzerID' ) := Label1.Caption; // ... Bye Christian |
Re: SQL Statement will nicht
Oder vielleicht so?
SQL-Code:
Grüße vom marabu
UPDATE profil SET datum = getdate() WHERE benutzerid = 10
|
Re: SQL Statement will nicht
habe alle Varianten ausprobiert..es geht immer noch GAR NICHTS..
die Funktion GETDATE() kennt er nicht und wenn ich da eine Zahl reinschreibe geht es auch nicht :( |
Re: SQL Statement will nicht
Habe kein Access - probiere mal Date() statt GetDate().
Hast du kein Handbuch zu Jet SQL? marabu |
Re: SQL Statement will nicht
Eventuell must du auch Datum() nehmen, bei einer deutschen Accessversion (Access ist leider so krank)
MfG Thorsten |
Re: SQL Statement will nicht
wenn ich DATE() eingebe kommt..
der Folgende Fehler: "Data type mismatch in criteria expression" |
Re: SQL Statement will nicht
Hi,
welchen Datentyp hat denn dein Feld DATUM ???? Zitat:
Gruss Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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