Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125

    Inserimento dati in tabella tramite query

    Ciao a tutti.

    Da un form dati recupero questa serie di valori:

    codice:
    R, S, T, G
    1, 2, 3, 4
    1, 2, 3, 4
    1, 2, 3, 4
    1, 2, 3, 4
    1, 2, 3, 4
    P, N, P, N
    BF, CC, BF, CC
    Devo inserirli in una tabella mysql in questo modo, come posso fare?

    codice:
    PROVA	CAMPOA	CAMPOB	CAMPOC	CAMPOD	CAMPOE	CAMPOF
    R	1	1	1	1	P	BF
    S	2	2	2	2	N	CC
    T	3	3	3	3	P	BF
    G	4	4	4	4	N	CC
    Grazie-

  2. #2
    devi caricare un array bidimensionale con un ciclo annidato riga/colonna, e poi leggi con un altro ciclo annidato colonna/riga.

  3. #3
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da optime
    devi caricare un array bidimensionale con un ciclo annidato riga/colonna, e poi leggi con un altro ciclo annidato colonna/riga.
    Grazie, tradotto in maniera a me comprensibile?
    Avevo iniziato splittando per virgola la prima stringa ed inserendo i valori soplittai nel db ma poi mi sono perso:

    codice:
    strValore = "R, S, T, G"
    
    arrPer = Split(strValore,", ")
    
       for i = LBound(arrPer) to UBound(arrPer)
    
    '//QUERY DI REGISTRAZIONE NELLA TABELLA
          strSQL = "INSERT INTO ..." 
          cn.execute(strSQL)
          response.write strSQL &"
    
    "
    
       next

  4. #4
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Sono riuscito ad usare un array che mi restituisce i valori singolarmente... ma adesso per inserirli in tabella ??? :

    codice:
    ReDim arrayForm(1, 255)
    intIndice = 0
    
    For Each varItem in Request.Form
    If Request.Form(varItem).count > 1 Then
    
    For intLoop = 1 to Request.Form(varItem).count 
    
    arrayForm(0, intIndice) = varItem & "(" & intLoop & ")"
    arrayForm(1, intIndice) = Request.Form(varItem)(intLoop)
    intIndice = intIndice + 1
    Next
    Else 
    
    arrayForm(0, intIndice) = varItem
    arrayForm(1, intIndice) = Request.Form(varItem)
    intIndice = intIndice + 1
    End If
    Next
    
    ReDim Preserve arrayForm(1, intIndice - 1)
    
    Response.Write "
    <h2>---- Valori Ricevuti dal Form ed immagazzinati dall'Array----</h2>
    "
    
    For intIndice = 0 To UBound(arrayForm, 2)
    Response.Write arrayForm(0, intIndice) & " = " _
    & arrayForm(1, intIndice) & "
    "
    Next
    P(1) = R
    P(2) = S
    P(3) = T
    P(4) = G

    V(1) = 1
    V(2) = 2
    V(3) = 3
    V(4) = 4

    V_a(1) = 1
    V_a(2) = 2
    V_a(3) = 3
    V_a(4) = 4

    I(1) = 1
    I(2) = 2
    I(3) = 3
    I(4) = 4

    V_s(1) = 1
    V_s(2) = 2
    V_s(3) = 3
    V_s(4) = 4

    D(1) = 1
    D(2) = 2
    D(3) = 3
    D(4) = 4

    m(1) = BF
    m(2) = CC
    m(3) = BF
    m(4) = CC

    e(1) = P
    e(2) = N
    e(3) = P
    e(4) = N

  5. #5
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    nessun'altra idea?

  6. #6

  7. #7
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da optime
    hai fatto 8 vettori?
    Si... ho sbagliato?

  8. #8
    ... ti hanno gia detto ...
    ... fai un paio di cicli annidati ...

    Grazie sempre di tutto!!!
    Alberto

  9. #9
    no, va bene. i tuoi campi sono quindi in tutti i vettori.

    devi fare una cosa del tipo

    insert into tabella (campi.....) values
    (vettore1(i), vettore2(i)...)

  10. #10
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da optime
    no, va bene. i tuoi campi sono quindi in tutti i vettori.

    devi fare una cosa del tipo

    insert into tabella (campi.....) values
    (vettore1(i), vettore2(i)...)
    Ho scritto così:

    codice:
    ReDim arrayForm(1, 255)
    intIndice = 0
    
    For Each varItem in Request.Form
    If Request.Form(varItem).count > 1 Then
    
    For intLoop = 1 to Request.Form(varItem).count 
    
    arrayForm(0, intIndice) = varItem & "(" & intLoop & ")"
    arrayForm(1, intIndice) = Request.Form(varItem)(intLoop)
    intIndice = intIndice + 1
    Next
    Else 
    
    arrayForm(0, intIndice) = varItem
    arrayForm(1, intIndice) = Request.Form(varItem)
    intIndice = intIndice + 1
    End If
    Next
    
    ReDim Preserve arrayForm(1, intIndice - 1)
    
    Response.Write "
    <h2>---- Valori Ricevuti dal Form ed immagazzinati dall'Array----</h2>
    "
    
    For intIndice = 0 To UBound(arrayForm, 2)
    Response.Write arrayForm(0, intIndice) & " = " _
    & arrayForm(1, intIndice) & "
    "
    
    strSQL = "INSERT INTO " 
    strSQL = strSQL & "  tbl_2 " 
    strSQL = strSQL & " ( " 
    strSQL = strSQL & "  PROVA, "
    strSQL = strSQL & "  A, "
    strSQL = strSQL & "  B, "
    strSQL = strSQL & "  C, "
    strSQL = strSQL & "  D, "
    strSQL = strSQL & "  E, "
    strSQL = strSQL & "  F "
    strSQL = strSQL & " ) " 
    strSQL = strSQL & " VALUES " 
    strSQL = strSQL & " ( " 
    strSQL = strSQL & " '" & arrayForm1(i) & "', "
    strSQL = strSQL & "  " & arrayForm2(i) & ", "
    strSQL = strSQL & "  " & arrayForm3(i) & ", "
    strSQL = strSQL & "  " & arrayForm4(i) & ", "
    strSQL = strSQL & "  " & arrayForm5(i) & ", "
    strSQL = strSQL & " '" & arrayForm6(i) & "', "
    strSQL = strSQL & " '" & arrayForm7(i) & "' "
    strSQL = strSQL & " ) " 
    cn.execute(strSQL)
    
    Next
    Ma risponde con:

    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A0009)
    Indice non incluso nell'intervallo: 'arrayForm'

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.