Avatar billede lund_dk Praktikant
30. august 2007 - 20:10 Der er 15 kommentarer og
1 løsning

hjælp til løkke

Hvis jeg nu har 5 "linier" med inputfelter af samme navn..

felt1 felt2 felt3
felt1 felt2 felt3
felt1 felt2 felt3
felt1 felt2 felt3
felt1 felt2 felt3

hvordan opfanger jeg så dem i en løkke, så jeg kan smide dem i en database..?
Avatar billede nielle Nybegynder
30. august 2007 - 20:17 #1
Skal felterne i hver sin række i basem - altså 15 rækker,

eller skal felterne i basen 3 og 2 - altså felt1, flet2 og felt3 sammen i en rækker,

eller skal felterne i en lang række med 15 felter?
Avatar billede cpufan Juniormester
30. august 2007 - 20:24 #2
hvis inputfelterne har samme navn, vil de jo overskrive hinanden, så du kun står tilbage med den sidste.
Avatar billede lund_dk Praktikant
30. august 2007 - 21:21 #3
lad os sige jeg kalder felterne :
ID1 a1 b1 c1
ID2 a2 b2 c2
ID3 a3 b3 c3
ID4 a4 b4 c4
ID5 a5 b5 c5

Hvordan klarer vi så den..?

række 1 skal opdateres i en linie i databasen
række 2 skal opdateres i en linie i databasen
osv..
Avatar billede nielle Nybegynder
30. august 2007 - 21:34 #4
F.eks. sådan:

For i = 1 To 5
    aID = "a" & i
    bID = "b" & i
    cID = "c" & i

    a = Response.Form(aID)
    b = Response.Form(bID)
    c = Response.Form(cID)

    sql = "INSERT INTO dinTabel (feltA, feltB, feltC) VALUES ('" & a & "', '" & b & "', '" & c & "')"
    Conn.Execute(sql)
Next
Avatar billede lund_dk Praktikant
30. august 2007 - 21:45 #5
Yes, vi er på rette spor

MEN, antal rækker er ikke altid faste, det kan være alt fra 1 til 12 rækker - kan vi gøre noget ved det.. ? :D
Avatar billede morhan Novice
30. august 2007 - 21:50 #6
For Each name In Request.Form
    feltA = Request.Form(name)(1)
    feltB = Request.Form(name)(2)
    feltC = Request.Form(name)(3)
Next

hvis du navngiver alle felter i samme række det samme
Avatar billede morhan Novice
30. august 2007 - 21:51 #7
den skal ændres lidt, hvis du har andet input i formen
Avatar billede lund_dk Praktikant
31. august 2007 - 16:24 #8
Jeg har nu denne kode (starter med en linie for at se om den virker - derfor 1 to 1)

Men jeg får fejl i min update , nogen der kan se fejlen?

For i = 1 To 1

    rowid1 = "rowid" & i
    description1 = "description" & i
    a1 = "a" & i
    b1 = "b" & i
    c1 = "c" & i
    d1 = "d" & i
    e1 = "e" & i
    f1 = "f" & i
    g1 = "g" & i
    h1 = "h" & i
    i1 = "i" & i
    j1 = "j" & i
    k1 = "k" & i
    l1 = "l" & i
    m1 = "m" & i
    n1 = "n" & i
    o1 = "o" & i
    p1 = "p" & i
    q1 = "q" & i
    r1 = "r" & i
    s1 = "s" & i
    t1 = "t" & i
    u1 = "u" & i
    v1 = "v" & i
    w1 = "w" & i
    x1 = "x" & i
    y1 = "y" & i
    z1 = "z" & i
   
   
    rowid = request.Form(rowid)
    description = request.form(description)
    a = request.Form(a1)
    b = request.Form(b1)
    c = request.Form(c1)
    d = request.Form(d1)
    e = request.Form(e1)
    f = request.Form(f1)
    g = request.Form(g1)
    h = request.Form(h1)
    i = request.Form(i1)
    j = request.Form(j1)
    k = request.Form(k1)
    l = request.Form(l1)
    m = request.Form(m1)
    n = request.Form(n1)
    o = request.Form(o1)
    p = request.Form(p1)
    q = request.Form(q1)
    r = request.Form(r1)
    s = request.Form(s1)
    t = request.Form(t1)
    u = request.Form(u1)
    v = request.Form(v1)
    w = request.Form(q1)
    x = request.Form(x1)
    y = request.Form(y1)
    z = request.Form(z1) 
   
    SQL = "UPDATE bogstaver SET [description] = '" & description & "', "
    SQL = SQL & "a = " & a & ", "
    SQL = SQL & "b = " & b & ", "
    SQL = SQL & "c = " & c & ", "
    SQL = SQL & "d = " & d & ", "
    SQL = SQL & "e = " & e & ", "
    SQL = SQL & "f = " & f & ", "
    SQL = SQL & "g = " & g & ", "
    SQL = SQL & "h = " & h & ", "
    SQL = SQL & "i = " & i & ", "
    SQL = SQL & "j = " & j & ", "
    SQL = SQL & "k = " & k & ", "
    SQL = SQL & "l = " & l & ", "
    SQL = SQL & "m = " & m & ", "
    SQL = SQL & "n = " & n & ", "
    SQL = SQL & "o = " & o & ", "
    SQL = SQL & "p = " & p & ", "
    SQL = SQL & "q = " & q & ", "
    SQL = SQL & "r = " & r & ", "
    SQL = SQL & "s = " & s & ", "
    SQL = SQL & "t = " & t & ", "
    SQL = SQL & "u = " & u & ", "
    SQL = SQL & "v = " & v & ", "
    SQL = SQL & "w = " & w & ", "
    SQL = SQL & "x = " & x & ", "
    SQL = SQL & "y = " & y & ", "
    SQL = SQL & "z = " & z & ", "
      SQL = SQL & "where id = " & rowid & " and cardid = " & session("cardid") & ""
    Conn.Execute(sql)
Avatar billede lund_dk Praktikant
31. august 2007 - 16:27 #9
Microsoft JET Database Engine fejl '80040e14'

Der er en syntaksfejl i UPDATE-sætningen.
Avatar billede nielle Nybegynder
31. august 2007 - 16:32 #10
Når basen fejler er det altid et godt debug-trick at prøve at udskrive SQL-sætningen (før den udføres) for at se hvad der egentlig står i den:

...
SQL = SQL & "x = " & x & ", "
    SQL = SQL & "y = " & y & ", "
    SQL = SQL & "z = " & z & ", "
      SQL = SQL & "where id = " & rowid & " and cardid = " & session("cardid") & ""
    Response.-Write "DEBUG: " & SQL & "<br>"
    Conn.Execute(sql)
Avatar billede nielle Nybegynder
31. august 2007 - 16:43 #11
Der er jo også et ulovligt komma lige her:

... z = '4', where id ...
Avatar billede lund_dk Praktikant
31. august 2007 - 16:44 #12
Ah.. self.. var der koen på isen lå..
Er altid de må ting man overser.. ;)
Avatar billede nielle Nybegynder
11. september 2007 - 12:51 #13
Har du fået det til at virke?
Avatar billede nielle Nybegynder
06. oktober 2007 - 16:13 #14
??
Avatar billede lund_dk Praktikant
26. april 2012 - 08:31 #15
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester