Seite 1 von 1
SQL Befehl INSERT INTO mit Variablen
Verfasst: 11.01.2005 14:30
von JKG
Hallo !
Ich bekomme es einfach nicht hin einem SQL-Befehl Variablen zu übergeben. Ich möchte einen Satz in einer MS-SQL Datenbank einfügen.
Code: Alles auswählen
RetVal$ = "INSERT INTO MeineDatenbank VALUES (JetztsollenVariablen kommen)"
Das klappt leider nicht. Hab hier im Forum das ein oder andere gelesen, komme da aber nicht klar draus.
Danke schonmal für die Hilfe.
Gruß Jörg
Verfasst: 11.01.2005 14:42
von ts-soft
Hab zwar keine Ahnung von SQL, aber wenn ich das richtig verstanden habe, meinst du in etwa so:
Code: Alles auswählen
RetVal$ = "INSERT INTO MeineDatenbank VALUES " + Str(MeineVariable)
[EDIT]Da muß glaube ich noch ein ";" ans Ende angehängt werden [/EDIT]
Verfasst: 11.01.2005 14:49
von JKG

Ne, das ist leider nicht die Lösung !
Trozdem danke !
Verfasst: 11.01.2005 14:50
von bobobo
So eine allgemeine Frage erzeugt nur ne allgemeine Antwort.
Ablauf i.A.
Die DB erzeugen (Db-Manager benutzen (
hier ist einer für lau) und/oder sich in SQL der DB gut auskennen)
Die DB im ODBC anmelden
in Pb den ODBC-Eintrag zum Öffnen benutzen.
gültige SQl-Requests absetzen und bei Bedarf auswerten.
entweder so ..alle Werte angeben
INSERT INTO table_name
VALUES (value1, value2,....)
oder mit spezifierten Spalten
INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)
DB schliessen.
Re: SQL Befehl INSERT INTO mit Variablen
Verfasst: 11.01.2005 14:52
von freedimension
Klappt's so?
Code: Alles auswählen
RetVal$ = "INSERT INTO MeineDatenbank SET feldname1 = '" + Str(var1) + "' feldname2 = '" + Str(var2) + "'"
Evtl. tatsächlich auch nochmal mit dem Semikolon probieren
Verfasst: 11.01.2005 14:55
von JKG

Tschuldigung !
Hier etwas genauer.
Die eigentliche Vorgehensweise ist schon klar. ODBC usw. alles erledigt.
SELECT-Anweisungen funktionieren auch!
Hier jetzt das Problem.
Code: Alles auswählen
RetVal$ = "INSERT INTO MeineDB VALUES ('11.01.2005', 'Text1', Text2')"
Dieser SQL-Befehl funktioniert einwandfrei.
Wie muss der Befehl denn aussehen, wenn ich anstatt den Werten 'Text1' usw. Variablen übergeben will, die ich vorher mit GetGadgetText() ausgelesenhab ?
Gruß Jörg
Verfasst: 11.01.2005 14:59
von ts-soft
Code: Alles auswählen
RetVal$ = "INSERT INTO MeineDB VALUES ('11.01.2005', '" + Text1.s + "', " + Text2.s + "')"
oder ich habs immer noch nicht kapiert
Verfasst: 11.01.2005 15:19
von JKG
Hallo Zusammen !
Jetzt funktioniert es. Ich weiß zwar nicht genau warum, aber das lerne ich vielleicht auch noch. Der SQL-Befehl muss folgender Maßen lauten.
Code: Alles auswählen
RetVal$ = "INSERT INTO MeineDB VALUES ( '" + e_date$ + "' , '" + Text1$ + "', '" + Text2$ + "', '" + Text3$ + "')"
Ich wußte nicht, dass man Variablen so übergibt. '" + var.s + "' Diese Formatierung war mir nicht bekannt.
Danke an alle und Gruß
Jörg
Verfasst: 11.01.2005 15:23
von ts-soft
Das war genau das, welches ich im ersten Posting ausdrücken wollte

Verfasst: 11.01.2005 16:54
von Kiffi
> Ich weiß zwar nicht genau warum, aber das lerne ich vielleicht auch
> noch.
Stringwerte müssen in einem SQL-String generell mit einfachen
Hochkommata (') geklammert werden. Bei Zahlenwerten braucht man das
nicht. Maßgebend ist hier das Format der Tabellenfelder.
Code: Alles auswählen
sSQL.s = "INSERT INTO myDB (fldZahl, fldText) VALUES ( " + Str(myNumber.l) + " , '" + myString$ + "')"
Grüße ... Kiffi