Fehlermeldung "arithmetic execption"
-
Wenn du einen WSert für das Feld ID angibst dann nimmt er auch diesen Wert. In dienem Fall eine 0.
Wenn das Feld aus auto_increment defniert ist dann reichtINSERT INTO T_Kunde SET Vorname = 'Peter',Nachname = 'Paul';
Das sollte übrigend bei jedem RDBMS gehen da dies Standard ist.
-
Unix-Tom schrieb:
INSERT INTO T_Kunde SET Vorname = 'Peter',Nachname = 'Paul';
Verwechselst Du hier gerade INSERT und UPDATE?
INSERT INTO Kunde (Vorname, Nachname) VALUES ('Peter', 'Paul')
Oder hab ich da was falsch verstanden?
-
Es geht beides.
Zumindest bei ODBC/ACCESS und MySQL.
-
Dann werde ich das bei Gelegenheit mal auf unserer informix-DB ausprobieren. Die Variante mit SET xxx = yyy kenne ich nur aus den Update-Statements. Danke für die Info.
-
Also um bei Interbase eine Datenbank zu erstelnnen muss ich das alles machen
Ich muss den Trigger machen wenn ich es mir vereinfach (Das Hochzählen der Folgen z.B oder kunden ID
Domain: Create Domain D_Nr as Integer Not Null; Create Domain D_Name VarChar(100); Create Domain D_Groesse Integer; Tabelle T_Koenigin_der_1000_Jahre: Create Table T_Koenigin_der_1000_Jahre ( Nr D_Nr, Name D_Name, Groesse D_Groesse, Primary Key (Nr) ); Generator: Create Generator G_Koenigin_der_1000_Jahre; Trigger: Wie im ersten post nur der geht halt net. Dateninhalt: Insert Into T_Koenigin_der_1000_Jahre Values (1,'09.09.1999 um 9:00',221); Insert Into T_Koenigin_der_1000_Jahre Values (2,'Das unendliche All',211); Insert Into T_Koenigin_der_1000_Jahre Values (3,'Die Diebe der tausend Jahre',223); Insert Into T_Koenigin_der_1000_Jahre Values (4,'Ein Meteorit verschwindet',227); Insert Into T_Koenigin_der_1000_Jahre Values (5,'Yayoi kehrt zurueck',189); Insert Into T_Koenigin_der_1000_Jahre Values (6,'Die unterirdische Stadt',192); Insert Into T_Koenigin_der_1000_Jahre Values (7,'Der Stuetzpunkt unter der Erde',187); Insert Into T_Koenigin_der_1000_Jahre Values (8,'Das mißlungende Experiment',203); Insert Into T_Koenigin_der_1000_Jahre Values (9,'Der Weg zum heiligen Grab',207); Insert Into T_Koenigin_der_1000_Jahre Values (10,'Das Abenteuer am heiligen Grab',212); Insert Into T_Koenigin_der_1000_Jahre Values (11,'Freund oder Feind',189); Insert Into T_Koenigin_der_1000_Jahre Values (12,'Das Geheimnis des Teleskops',195); Insert Into T_Koenigin_der_1000_Jahre Values (13,'Flucht im Morgengrauen',174); Insert Into T_Koenigin_der_1000_Jahre Values (14,'Das Geheimnis der Koenigin',213); Insert Into T_Koenigin_der_1000_Jahre Values (15,'Duell in der Nacht',171); Insert Into T_Koenigin_der_1000_Jahre Values (16,'Der Ueberfall',190); Insert Into T_Koenigin_der_1000_Jahre Values (17,'Yayoi verlaesst die Sternenwarte',201);
Würde der Trigger Funktionieren müsste ich nicht
Insert Into T_Koenigin_der_1000_Jahre Values (17,'Yayoi verlaesst die Sternenwarte',201);
Schreiben sonder nur
Insert Into T_Koenigin_der_1000_Jahre Values (0,'Yayoi verlaesst die Sternenwarte',201);
Wenn der inhalt null ist und ich einen Neuen datensatz dazu nehme nimmt er die Zahl die im generator G_Koenign.. steht und addiert eins dazu und so weiter..
Das sollte ersmtl nur eine Test Datenbak seit damit ich per C++ Die Benutzeroberfläche Programmieren kann ..
Das ist nur um Arbeit zu ersparen wenn man mit Kundendaten arbeitet uns sich z.B 10000 Kunden anmelden... bei den Folgen wollte ich das nur so machen .. hab das aber dann doch weggelassen.
Also bei interbase ist das so komischer weise bei MySQl muss ich auto inc oder so neben Folge schreiben .... aber damit setz ich mich noch auseinander
Die Richtige Datenbank bekommoch mehr Tabellen
mfg Seby
-
Soooo.
Ich hab mir das XAMMP Geladen und mein erster eindruck ist .... Super Spitze
Das Programm ist leicht zu benutzen und da ist alls drauf SQL PHP Admin und Apatch echt geil.
Ich habe meine Datenbank nun dort eingegeben..
Mein problem ist nun wie kann ich eine oberfläche mit C++ machen ...
Ich such weiter in der Hilfe und Probier rum aber es wäre coll wenn mir jemand sagen kann ob das überhaupt möglich ist.
mfg Seby
-
Bezüglich deines Generators. Sollte das
NEW.nr = GEN_ID(T_Koenigin_der_1000_Jahre, 1);
nicht so aussehen
NEW.nr = GEN_ID(G_Koenigin_der_1000_Jahre, 1);
Wenn du den BCB verwendest hilft vielleicht diese Seite
http://www.fachinformatiker-ihk.de/download/extras/CSIBXCB_.pdf
-
SET TERM ^ ;
CREATE TRIGGER Set_nr FOR T_Koenigin_der_1000_Jahre
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
if (NEW.nr is Null) then
NEW.nr = GEN_ID(T_Koenigin_der_1000_Jahre, 1);
END
^COMMIT WORK ^
SET TERM ;^Das hab ich ja gemacht funktioniert aber igend wie nicht .. na ja egal ich kann auch ohne arbeiten .....
ich versuch erstmla das mit MYSQL zu lösen ich hoffe das geht besser
mfg Seby
-
Schau nochmal genau hin. gen_id verlangt doch den Namen des Generators und der fängt bei dir mit G und nicht mit T an.
-
och braunstein, wie gemein!!! Ich war auch gerade darauf gekommen...