![]() |
ADOCommand - Update Table
Hallo,
ich will mit AdoCommand ein Update machen, leider bekomme ich eine Fehlermeldung:
SQL-Code:
wenn ich aber das gleiche Statement nicht in der Anwendung ausführe, sondern ganz normal, funktioniert es.
ORA-01401: inserted value too large for column
Hier mal das ADOCommand:
Delphi-Quellcode:
Das SQL-Statement:
with ADOCommand do
begin CommandType:=cmdText; CommandText:='update tbl_umgebung ' +' set env= ' + QuotedStr(Umgebung) +' , beschreibung= ' + QuotedStr(Beschreibung) +' where env =' + QuotedStr(Umgebung); Execute; Screen.Cursor:=crDefault; end;
SQL-Code:
Woran liegt das bloß?
update tbl_umgebung set env= 'y4' , beschreibung= 'Batch HF-Test (n+1) ' where env ='y4'
MfG schuetze09 |
Re: ADOCommand - Update Table
Moin,
welchen Datentyp haben die Spalten? Würde nicht folgendes reichen? Das Feld env ist ja schon 'y4'!
SQL-Code:
update tbl_umgebung set beschreibung= 'Batch HF-Test (n+1)' where env ='y4'
|
Re: ADOCommand - Update Table
@Stevie:
geht leider auch nicht. Die Felder sind vom Typ CHAR. mfg schuetze09 |
Re: ADOCommand - Update Table
Datenbank??
|
Re: ADOCommand - Update Table
ORACLE
|
Re: ADOCommand - Update Table
Also ORA-01401 kommt, wenn du einen Text einfügen willst, der zu lang ist, sagt er ja... ;-)
Frage: Wie viele Zeichen passen in das Feld beschreibung? Vermutung: Wenn du den Befehl so ausführst, wird ohne Fehler der zu lange Teil abgeschnitten. Bei Oracle sollte man ohnehin eher VARCHAR2 benutzen... |
Re: ADOCommand - Update Table
Zitat:
Wenn du das hier so ausführst wie du das kopierst hast, hätte selbst ein 255 Langes Feld nicht gereicht:
Code:
Schaumal Beschreibung = 'Text
update tbl_umgebung set env= 'y4' , beschreibung= 'Batch HF-Test (n+1) ' where env ='y4'
Mit enter und viele leere Zeichen ' where env.... = > 255 Zeichen. Mache mal die Leerzeichen zwischen (n+1) und ' weg. Du hast da 2 Zeilenumbrüche drinn. |
Re: ADOCommand - Update Table
Zitat:
Zitat:
|
Re: ADOCommand - Update Table
Also das Feld Env ist ein CHAR(2) , Beschreibung ist CHAR(255).
auf der DB direkt mit dem OraTool funkioniert es, also das update. MfG schuetze09 |
Re: ADOCommand - Update Table
Hast du schonmal folgendes versucht?
Delphi-Quellcode:
with ADOCommand do
begin CommandType:=cmdText; CommandText:='update tbl_umgebung set beschreibung = :1 where env = :2'; Parameters[0].Value := Beschreibung; Parameters[1].Value := Umgebung; Execute; end; |
Re: ADOCommand - Update Table
kommt leider die gleiche Fehlermeldung...
langsam krieg ich ne Krise, ich verstehe nicht, warum das SQL-Statement am Prompt funktioniert und in/mit Delphi nicht!!!....??? MfG schuetze09 |
Re: ADOCommand - Update Table
Kannst du mir mal die Anwendung und dein Tabellenscript schicken?
Dann guck ich's mir mal an. |
Re: ADOCommand - Update Table
:) mein Problem hat sich gelöst!!!
ich habe nachdem ich feststellte, dass die Werte die ich in ENV und BESCHEIBUNG hatte immer riesig groß waren, einfach den Datentyp von CHAR auf VARCHAR geändert, jetzt geht es. MfG schuetze09 PS: Danke für eure Bemühungen... |
Re: ADOCommand - Update Table
Aber leider sind am Ende des übergebene Strings immer noch zwei || zu sehen :?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 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