AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datensätze insertieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datensätze insertieren

Ein Thema von barnti · begonnen am 25. Mär 2004 · letzter Beitrag vom 25. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2      
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Datensätze insertieren

  Alt 25. Mär 2004, 11:37
Hi,

ich arbeite mit einer mysql-DB und versuche Datensätze in meine Tabelle zu schreiben:

Tabelle_Position:
SQL-Code:
+----------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+------------------+------+-----+---------+----------------+
| Position_ID | int(10) unsigned | | PRI | NULL | auto_increment |
| Container_ID | int(10) unsigned | YES | MUL | NULL | |
| Auftrag_ID | int(10) unsigned | | MUL | 0 | |
| Partie_ID | int(10) unsigned | | MUL | 0 | |
| Unterpartie_ID | int(10) unsigned | | MUL | 0 | |
| PositionNR | int(10) unsigned | YES | | NULL | |
| Menge | int(10) unsigned | YES | | NULL | |
| Timestamp | timestamp(14) | YES | | NULL | |
| valid | datetime | YES | | NULL | |
+----------------+------------------+------+-----+---------+----------------+
Der Query.text sieht folgendermaßen aus:
SQL-Code:
Insert into Position values('','','1','25','37','1','4','','');
Insert into Position values('','','1','25','38','2','2','','');
Insert into Position values('','','1','25','39','3','2','','');
Insert into Position values('','','1','25','40','4','2','','');
Insert into Position values('','','1','25','41','5','1','','');
Insert into Position values('','','1','25','42','6','1','','');
Als Fehlermeldung erhalte ich:
Zitat:
'' is not a valid integer.
Was mir sagt, dass ich leere Werte so nicht in die DB schreiben darf. Wie kann ich das Problem lösen? Wie kann ich die oben genannten Daten trotzdem einfügen?
Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Datensätze insertieren

  Alt 25. Mär 2004, 11:40
Hai barnti,

schreibe doch nur die Werte die Du brauchst:

INSERT INTO Position (Auftrag_ID,Partie_ID,Unterpartie_ID,PositionNR,Menge) VALUES (1,25,37,1,4)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Datensätze insertieren

  Alt 25. Mär 2004, 11:42
Benutze statt '' NULL, dann sollte es funktionieren, vorausgesetzt, dein Autoincrement funktioniert.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: Datensätze insertieren

  Alt 25. Mär 2004, 11:42
Du hast wohl noch Oracle im Kopf
In Oracle es ein '' das gleiche wie ein NULL. Es ist also genauso NUMBER, DATE, VARCHAR2,... vielleicht wird das in mySQL anders gehandhabt.
Versuch's mal mit NULL anstatt ''.

Edit:
3 auf einen Streich
Sharkys Lösung wäre natürlich die beste
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Datensätze insertieren

  Alt 25. Mär 2004, 11:44
Hallo,

danke euch. Das waren wohl die schnellsten Antworten, die ich hier je bekommen habe.

Jo, das mit Oracle stimmt.
Gruß,

Barnti
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Datensätze insertieren

  Alt 25. Mär 2004, 12:07
Mhm...

leider hatte ich mit euren Vorschlägen noch keinen Erfolg:

SQL-Code:
INSERT INTO Position (Auftrag_ID,Partie_ID,Unterpartie_ID,PositionNR,Menge) VALUES ('1','25','37','1','4')
INSERT INTO Position (Auftrag_ID,Partie_ID,Unterpartie_ID,PositionNR,Menge) VALUES ('1','25','38','2','2')
INSERT INTO Position (Auftrag_ID,Partie_ID,Unterpartie_ID,PositionNR,Menge) VALUES ('1','25','39','3','2')
INSERT INTO Position (Auftrag_ID,Partie_ID,Unterpartie_ID,PositionNR,Menge) VALUES ('1','25','40','4','2')
INSERT INTO Position (Auftrag_ID,Partie_ID,Unterpartie_ID,PositionNR,Menge) VALUES ('1','25','41','5','1')
INSERT INTO Position (Auftrag_ID,Partie_ID,Unterpartie_ID,PositionNR,Menge) VALUES ('1','25','42','6','1')
So geht es nicht. Immer noch die selbe Fehlermeldung. Und so:

SQL-Code:
Insert into Position values(Null, Null,'1','25','37','1','4',Null,Null);
...
Klappt es ebenfalls nicht. . Wo liegt mein Fehler?
Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#7

Re: Datensätze insertieren

  Alt 25. Mär 2004, 12:53
hallo beim sql standart werden :wert is null oder wert = '' nicht immer eindeutig interpretiert.

deshalb sollte man beide Abfragen mit OR verbinden, oder eine Stored Procedure schreiben.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Datensätze insertieren

  Alt 25. Mär 2004, 12:56
Hallo noch einaml,

ich habe festgestellt, dass die Fehlermeldung erst in der Exceptionbehandlung auftaucht. Aber diese Exception wird durch das SQL-Statement ausgelöst. Bei eingeschalteten Compilermeldungen bekomme ich den Fehler:

Zitat:
You have an Error in your SQL-Statement near...
deshalb hier noch mal der aktuelle Code:
SQL-Code:
insert into Position values(NULL,NULL,'1','25','37','1','4',NULL,NULL);
insert into Position values(NULL,NULL,'1','25','38','1','2',NULL,NULL);
insert into Position values(NULL,NULL,'1','25','39','1','2',NULL,NULL);
insert into Position values(NULL,NULL,'1','25','40','1','2',NULL,NULL);
insert into Position values(NULL,NULL,'1','25','41','1','1',NULL,NULL);
insert into Position values(NULL,NULL,'1','25','42','1','1',NULL,NULL);
Kann jemand helfen?
Gruß,

Barnti
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Datensätze insertieren

  Alt 25. Mär 2004, 13:01
@raik

ich habe Deine letzte Antwort leider nicht verstanden. Kannst Du mal erklären?

Danke!
Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#10

Re: Datensätze insertieren

  Alt 25. Mär 2004, 13:04
du versuchst in deinen eingaben entweder Null oder '' einzugeben.

es kann sein, das deine felder dies aber unterschiedlich interpretieren. deshalb solltest du die eingabenis null oder '' zulassen und dich nicht auf eins beschränken.

raik

muß jetzt weg, komme aber nachher wieder
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  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 22:34 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