![]() |
Datenbank: MSSQL Server • Version: 2000 • Zugriff über: dbExpress
DBExpress DateTime Parameter: dbExpress-Fehler:[0x0003]
Hallo!
Ich verwende Delphi7 mit ServicePack1. Ich versuche in eine Tabelle Datensätze einzutragen und bekomme folgende Fehlermeldung: Zitat:
Delphi-Quellcode:
Parameter a habe ich als Integer, b als String mit Länge 255 und c als DateTime deklariert. Alle Parameter als Input Parameter.
InsQry.ParamByName('a').AsInteger := 2;
InsQry.ParamByName('b').AsString := '2'; InsQry.ParamByName('c').AsDateTime := now; InsQry.ExecSQL; Der SQL String in der InsQry Komponente schaut folgendermassen aus: Zitat:
Das Feld ist in der Datenbank als datetime definiert. |
Re: DBExpress DateTime Parameter: dbExpress-Fehler:[0x0003]
Hi!
Schau dir mal die Params-Eigenschaft des Datasets an, der Parameter muß höchstwahrscheinlich den Datatype ftTimeStamp eingestellt bekommen, und nicht ftDateTime. Cu, Udontknow |
Re: DBExpress DateTime Parameter: dbExpress-Fehler:[0x0003]
Danke für den Tipp,
aber leider liefert das den gleichen Fehler. Ich habs dann auch gleich mal mit ftDate versucht, allerdings mit gleichem negativen Ergebnis. |
Re: DBExpress DateTime Parameter: dbExpress-Fehler:[0x0003]
Hmmm, ich habe leider kein MS-SQL zur Hand, aber vielleicht wird ein DateTime dort als String hinterlegt? Einfach mal alles durchprobieren...
Cu, UDontknow |
Re: DBExpress DateTime Parameter: dbExpress-Fehler:[0x0003]
Der richtige Datentyp auf dem SQL Server 2000 ist "datetime".
"Smalldatetime" ist nicht zu empfehlen, da es zu Range-Errors kommen kann, die von Delphi Programmierer nicht vorhersehbar oder vermeidbar sind. Der Datentyp "timestamp" ist nicht zum Speichern von Datum & Uhrzeit vorgesehen, sondern dient eher als eindeutiger Schlüssel. Zitat:
|
Re: DBExpress DateTime Parameter: dbExpress-Fehler:[0x0003]
Zitat:
Danke für deine Informationen. Ich habe in der Datenbank DateTime als Spaltentyp verwendet. |
Re: DBExpress DateTime Parameter: dbExpress-Fehler:[0x0003]
|
Re: DBExpress DateTime Parameter: dbExpress-Fehler:[0x0003]
Hallo, danke damit funktioniert das wohl, bedeutet aber wohl auch einen ziemlichen Aufwand, alle queries umzuschreiben.
Wird das jemals von Borland gefixt dieser Bug, das kann ja wohl nur ein workaround sein und nicht die endgültige Lösung. |
Re: DBExpress DateTime Parameter: dbExpress-Fehler:[0x0003]
Hallo!
So wie sich das ![]() Cu, Udontknow |
Re: DBExpress DateTime Parameter: dbExpress-Fehler:[0x0003]
Zitat:
In Deinem Beitrag mit dem Link zum bdn wird aber eine Lösung für Oracle angeboten mit dem TSQLTimeStamp. Die funktioniert jetzt auch für den SQL Server. Deshalb denk ich schon eher, dass das ein Problem von Borland bzw. dem Hersteller von dbExpress ist. Denn mit anderen Zugriffsmethoden BDE, ADO, SQL-Direct funktioniert das ja. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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