Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi IBase says: arithmetic exption, numeric overflow or... (https://www.delphipraxis.net/14295-ibase-says-arithmetic-exption-numeric-overflow.html)

mojo777 6. Jan 2004 13:21


IBase says: arithmetic exption, numeric overflow or...
 
Bon Jour! :hi:

Ich erstelle ein Forumlar mit mehreren Daten. Das Siet dann folgendermaßen aus:
Produktname
EAN
(...)
Lieferanten:
1. x
2. y
3. z

Es sind 2 tabellen.
In der ersten wird der Produktname und eans etc gespeichert. Sie heißt Prod_filtered
In der 2. ist die ean, und Lieferantenangaben gespeichert...(Prod_extended) Da es aber mehrere Lieferanten gibt, wird eine for to Schleife benutzt.... So wird ein Eintrag in die filtered db gesetzt und mehrere (3 in diesem falle, x,y,z)in die extended.
(bla bla bla....)

Fehlermeldung bei Prod_filtered.post;
IBase says: "arithmetic exception, numeric overflow or string truncation. Cannot transliterate character between character sets"

Einer mit plan? :drunken:

O´k. Hoffe es finden sich ein paar profis, die den fehler schon kennen.

PS: Vielleicht ist es von Bedeutung, dass 2 Namen eingegeben werden müssen. Einer davon ist evtl. in Kyrilischer Schriftsatz.

Danke!

kiar 6. Jan 2004 13:44

Re: IBase says: arithmetic exption, numeric overflow or...
 
mit welchen zeichensatz legst du deine db an ?

zeig mal deine create database

raik

mojo777 6. Jan 2004 16:13

Re: IBase says: arithmetic exption, numeric overflow or...
 
ääähhh hab ich nicht gemacht... wo kann ich das nachsehen?

mojo777 6. Jan 2004 16:15

Re: IBase says: arithmetic exption, numeric overflow or...
 
...also über EMS InterBase wird zeichensatz "none" angezeigt.
kann ich das über sql ändern?

kiar 6. Jan 2004 16:22

Re: IBase says: arithmetic exption, numeric overflow or...
 
in der IBconsole und dann view metadata;

raik

mojo777 6. Jan 2004 16:34

Re: IBase says: arithmetic exption, numeric overflow or...
 
Hi,
ich weiss nicht so recht, was du meinst.
Kann man IBconsole über delphi aufrufen? Ich kenne da nichts derartiges. Oder meinst du die Console, die erscheint wenn man Ibase instelliert hat?
Hmm... :pale:

:duck:

kiar 6. Jan 2004 16:37

Re: IBase says: arithmetic exption, numeric overflow or...
 
genau diese cconsole meinte ich.

mojo777 6. Jan 2004 16:51

Re: IBase says: arithmetic exption, numeric overflow or...
 
CREATE TABLE "PRODUKTEDB_FILTER"
(
"ID" INTEGER NOT NULL,
"EAN" CHAR(50),
"ZUSAETZE" VARCHAR(500) CHARACTER SET ASCII,
"KASSENGRUPPE" INTEGER,
"STEUERGRUPPE" INTEGER,
"NAME_DEU" VARCHAR(200) CHARACTER SET ASCII,
"PRODUKTGRUPPE" INTEGER,
"BESCHREIBUNG_DEU" CHAR(500) CHARACTER SET ASCII,
"VPREIS" CHAR(5),
"NAME_RUS" VARCHAR(200),
"BESCHREIBUNG_RUS" VARCHAR(200),
"AUFPREISGRUPPE" INTEGER,
"LAST_LIEFERUNG" INTEGER
);

??? sooo.... ich habs.

was ist da falsch?

kiar 6. Jan 2004 17:36

Re: IBase says: arithmetic exption, numeric overflow or...
 
da du auch kyrillische zeichen verwendest, kann ich dir hier icht weiterhelfen, normalerweise wird las default charater set win 1252 eingestellt m. mit ascii habe ich noch nicht gearbeitet. versuche einfach mal auf win 1252 eine andere datenbank zu erzeugen und diese mit deinen daten zu füttern.

raik

kiar 6. Jan 2004 18:22

Re: IBase says: arithmetic exption, numeric overflow or...
 
ich habe dir hier mal ein script einer datenbank von mir angehängt.
kannst ja mal versuchen, ob das umzusetzen geht.

raik
SQL-Code:
/***************************************/
/* master-script fuer BrandM Datenbank */
/* Interbase 6 Dialect 3- Datenbank   */
/*-------------------------------------*/
/* version 0.1 vom 08.06.2003          */
/* (c) Raik Cebulla                   */
/***************************************/

       Set SQL DIALECT 3;

       SET NAMES ISO8859_1;
       
/* Datenbank erstellen  */

CREATE DATABASE 'C:\daten\BrandM\Datenbank\brand.GDB'
USER 'SYSDBA' PASSWORD'masterkey'
DEFAULT CHARACTER SET ISO8859_1;

/*  Domains der Datenbank festlegen  */

CREATE DOMAIN TID AS INTEGER NOT NULL;
CREATE DOMAIN TNachname AS VARCHAR (20) NOT NULL;
CREATE DOMAIN TVorname AS VARCHAR (15) NOT NULL;
CREATE DOMAIN TEmail AS VARCHAR (40);
CREATE DOMAIN TTelefon AS VARCHAR(20);
CREATE DOMAIN TOrt AS VARCHAR (30);
CREATE DOMAIN TStrasse AS VARCHAR (30);
CREATE DOMAIN TBemerkung AS VARCHAR (100);
CREATE DOMAIN TPlz AS CHAR(5);
CREATE DOMAIN TBoolean AS CHAR(1) NOT NULL CHECK (VALUE IN ('J','N'));
CREATE DOMAIN TTextBLOB AS BLOB SUB_TYPE 1;
CREATE DOMAIN TBinBLob As BLOB SUB_TYPE 0;

/* Tabelle Mitarbeiter  */

CREATE TABLE Mitarbeiter(
    MitarbeiterID TID,
    FirmenID TID,
    Name TNachname,
    Vorname TVorname,
    Plz TPlz,
    Ort TOrt,
    Strasse TStrasse,
    Beruf Varchar(30),
    Telefon TTelefon,
    Email TEmail,
    Angelegt DATE,
    Abgemeldet TBoolean,
    Bemerkung TBemerkung);
    Alter Table Mitarbeiter
    Add Constraint PK_Mitarbeiter PRIMARY KEY (MitarbeiterID);
    Commit ;
   
/* Tabelle Firma  */

CREATE TABLE Firma (
    FirmenID TID,
    FirmenName TNachname,
    Plz TPlz,
    Ort TOrt,
    Strasse TStrasse,
    Telefon TTelefon,
    Email TEmail,
    Angelegt DATE,
    Bemerkung TBemerkung,
    AnsprechPartnerName TNachname,
    AnsprechPartnerVorname TVorname);
    Alter Table Firma
    Add Constraint PK_Firma PRIMARY KEY (FirmenID);
    Commit ;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 Uhr.
Seite 1 von 2  1 2      

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