Announcement

Collapse
No announcement yet.

Unlogische Fehler?!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Unlogische Fehler?!

    Ich habe ein Problem mit Interbase, was mich völlig verwirrt.
    Vielleicht weiss jemand darüber bescheid - ich habe nicht mehr Zeit und Nerven weiter nachzuforschen .

    Meine Tabelle besitzt ein Feld Nummer numeric(10) primary key
    und wird manuell belegt.
    Hin- und wieder passiert etwas sehr Seltsames... ich schreibe etwas hinein und will es abspeichern(Wert: z.B. 01223, 0204032025,...) -

    Fehlermeldung im Programm: "airthmetic exception, numeric overflow, or string truncation
    Cannot translitare character between character sets"
    Beim selben Vorgang direkt in Interbase-Cons - Fehlermeldung: 'violation of primary or unique key constraint "integ_2" on table "test"'

    Der Wert wurde noch nicht vergeben noch irgendetwas mit Integer berechnet etc. Keine besonderen Funktionen oder dergleichen!

    Danke für euere Hilfe!!

  • #2
    Hi,

    erhältst Du die Fehlermeldung auch, wenn die Tabelle noch keine Sätze enthält ??

    Gruß
    Gesin

    Comment


    • #3
      Hi Gesine...
      bei einer leeren Tabelle funktioniert es!
      Das komische daran ist, dass das Verhalten irgendwie nicht nachvollziehbar ist( - zumindest in meiner derzeitig verwirrten Verfassung (.
      Ich kann dem Ganzen durch einen seperaten primary key aus dem Weg gehen, aber mich würde mal interessieren woran es liegt...

      Danke im Voraus

      Comment


      • #4
        Hallo,

        >...ich schreibe etwas hinein und will es abspeichern(Wert: z.B. 01223, 0204032025,...)

        wie wird die numerische Zahl "01223" (führende Null?) übergeben? Wie sieht der Inhalt der Primärschlüsselspalte aus, wenn dieser Fehlermeldung erscheint? Ich gehe davon aus, dass der InterBase die übergebenen Daten nicht als native Zahl interpretieren kann, so dass er implizit eine interne Typumwandlung vornehmen muss und das sich daraus ergebende Ergebnis mit den bereits vorgefundenen Werten kollidiert

        Comment


        • #5
          Hi!
          Ich bin auch dahintergekommen, dass die Fehlermeldung abhängig von den
          bereits ausgefüllten Feldern ist (-wenn vorher andere Werte enthalten sind, als in einer anderen Konstelation erscheint kein Fehler).
          Das mit der internen Umwandlung ist sehr wahrscheinlich, da es oberflächlich gesehen keinen Grund für einen Fehler gibt.
          Die Eingabe erfolgt über normale DBEdits... das Feld ist aber als varchar deklariert.
          Wenn, dann scheint Interbase einen Bug beim Primary-Key zu besitzen (zumindest wenn das Feld vom Typ Character ist - Integer habe ich noch nicht ausprobiert, dürfte aber wahrscheinlich klappen).

          Bug? Und wenn ja, kann man ihn bei gleichem Tabellenaufbau umgehen

          Comment


          • #6
            Hallo,

            >Meine Tabelle besitzt ein Feld Nummer numeric(10) primary key...das Feld ist aber als varchar deklariert...

            ja was gilt denn nun? Ist der Primärschlüssel vom Typ NUMERIC oder VARCHAR? Wie sieht die CREATE TABLE-Anweisung in der InterBase-Datenbank aus und über welchen Weg wird im Sourcecode der neue Datensatz eingefügt? Obwohl im InterBase noch genug Bugs stecken - der Primärschlüssel ist immer eindeutig (der Fehler wird also in der Implementierung im Client liegen)

            Comment


            • #7
              Hallo...
              Hups, sorry... VARCHAR natürlich!
              Einfügen: IBDataSet(-DBEdit)
              Tabel-Sql:
              CREATE TABLE test (
              nr varchar(10) not null primary key,
              gruppe integer not null,
              bez varchar(10)
              );

              Ich habe das Problem umgangen, aber interessant währe es doch zu wissen, ob es ein Bug ist (;

              Danke für die Hilfe

              Comment

              Working...
              X