insert into mit null-Werten
Ingrid
- datenbank
0 Rouven
Hallo
ich habe einen zweidimensionalen Array und moechte diesen in eine Access-DB schreiben. Leider koennen die Werte im Array (variable ART) null sein und die Kolonne in der DB ist als Zahl definiert.
Wie kriege ich die Werte da rein?
numrows = ubound(testArray,1)
numcols = ubound(testArray,2)
for numcounter = 0 to numcols
sql3 = "Insert into NIS2GIS (AUFTRAG, ART, CODE, Y , X ) values ('" & testArray(0, numcounter) & "', " & testArray(1, numcounter) & ", '" & testArray(2, numcounter) & "', " & testArray(3, numcounter) & ", " & testArray(4, numcounter) & ")"
neudb.execute(sql3)
next
========================
Dank&Gruss
Ingrid
Hi,
ich weiß nicht, ob ich dein Problem ganz genau verstehe, aber folgendes kannst du tun um NULL-Werte in die Tabelle zu bekommen, du musst dir der Einfachheit halber einige Zwischenvariablen einfügen - Leider weiß ich jetzt gerade nicht welche Sprache du benutzt, da VB aber sehr einfach ist nehm ich das jetzt einfach mal:
Zunächst bauen wir mal die Abfrage um und zwar so, dass keine ' mehr enthalten sind:
INSERT INTO tab (x, y, z) VALUES (v_1, v_2, v_3)
Dann sorgen wir dafür, dass in den v_x das drin steht, was wir gerne hätten, also ein Wert oder eben NULL:
if IsNull(arr_Variablen(1, 1)) then
v1 = NULL
else
v1 = "'" & arr_Variablen(1, 1) & "'"
end if
Das sorgt jetzt dafür, dass ein eventueller Wert im Array ordnungsgemäß als String eingefügt wird, während im ersten Fall die SQL-Abfrage so aus sieht:
INSERT INTO tab (x, y, z) VALUES (NULL, NULL, NULL)