AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADOCommand - Update Table
Thema durchsuchen
Ansicht
Themen-Optionen

ADOCommand - Update Table

Ein Thema von schuetze09 · begonnen am 26. Nov 2004 · letzter Beitrag vom 26. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
schuetze09

Registriert seit: 3. Mär 2004
113 Beiträge
 
Delphi 2005 Architect
 
#1

ADOCommand - Update Table

  Alt 26. Nov 2004, 09:15
Hallo,

ich will mit AdoCommand ein Update machen, leider bekomme ich eine Fehlermeldung:

ORA-01401: inserted value too large for column wenn ich aber das gleiche Statement nicht in der Anwendung ausführe, sondern ganz normal, funktioniert es.
Hier mal das ADOCommand:
Delphi-Quellcode:
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;
Das SQL-Statement:
update tbl_umgebung set env= 'y4' , beschreibung= 'Batch HF-Test (n+1) where env ='y4' Woran liegt das bloß?

MfG
schuetze09
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

Re: ADOCommand - Update Table

  Alt 26. Nov 2004, 09:35
Moin,

welchen Datentyp haben die Spalten?

Würde nicht folgendes reichen? Das Feld env ist ja schon 'y4'!
update tbl_umgebung set beschreibung= 'Batch HF-Test (n+1)where env ='y4'
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
schuetze09

Registriert seit: 3. Mär 2004
113 Beiträge
 
Delphi 2005 Architect
 
#3

Re: ADOCommand - Update Table

  Alt 26. Nov 2004, 09:44
@Stevie:
geht leider auch nicht.
Die Felder sind vom Typ CHAR.

mfg
schuetze09
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

Re: ADOCommand - Update Table

  Alt 26. Nov 2004, 10:32
Datenbank??
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
schuetze09

Registriert seit: 3. Mär 2004
113 Beiträge
 
Delphi 2005 Architect
 
#5

Re: ADOCommand - Update Table

  Alt 26. Nov 2004, 10:41
ORACLE
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: ADOCommand - Update Table

  Alt 26. Nov 2004, 11:06
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...
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
clues1

Registriert seit: 11. Feb 2004
97 Beiträge
 
#7

Re: ADOCommand - Update Table

  Alt 26. Nov 2004, 11:11
Zitat:
inserted value too large for column
mhh, sieht wirklich danach aus, das du einfch nur dein Char Feld zu kurz angegeben hast.

Wenn du das hier so ausführst wie du das kopierst hast, hätte selbst ein 255 Langes Feld nicht gereicht:

Code:
update tbl_umgebung set env= 'y4' , beschreibung= 'Batch HF-Test (n+1)                                                                                                                                                                                                                                          ' where env ='y4'
Schaumal Beschreibung = 'Text
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.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

Re: ADOCommand - Update Table

  Alt 26. Nov 2004, 11:15
Zitat von clues1:
Zitat:
inserted value too large for column
mhh, sieht wirklich danach aus, das du einfch nur dein Char Feld zu kurz angegeben hast.

Wenn du das hier so ausführst wie du das kopierst hast, hätte selbst ein 255 Langes Feld nicht gereicht:

Code:
update tbl_umgebung set env= 'y4' , beschreibung= 'Batch HF-Test (n+1)                                                                                                                                                                                                                                          ' where env ='y4'
Schaumal Beschreibung = 'Text
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.
Nee, das dürfte nur hier im Beitrag so sein. Das funkioniert ja nicht:
Zitat von schuetze09:
Delphi-Quellcode:
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;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
schuetze09

Registriert seit: 3. Mär 2004
113 Beiträge
 
Delphi 2005 Architect
 
#9

Re: ADOCommand - Update Table

  Alt 26. Nov 2004, 12:08
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
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

Re: ADOCommand - Update Table

  Alt 26. Nov 2004, 12:31
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;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz