+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 5 su 5

[Asp.Net] Indice non compreso in intervallo

  1. #1
    L'avatar di AlbiCodex
    AlbiCodex non è in linea Scolaretto
    Salve a tutti;

    Sto cercando di fare una form (asp vb net) per aggiormare i dati da un db...ma mi esce un errore strano..:
    Vado ad intercettare l'indice del mio datalist ma il compilatore mi dice:
    "Index non compreso nell'intervallo. Richiesto valore non negativo e minore della dimensione dell'insieme. Nome parametro: index" ...non capisco...il cast dovrebbe essere esatto !! ..
    Comunque il codice è questo :

    Protected Sub DataList1_UpdateCommand(ByVal source As Object, ByVal e As DataListCommandEventArgs)
    
            Dim tbox As TextBox
            Dim titolo, descrizione, dalg, alg As String
    
            Dim id_info As Int16
           
            id_info = CType(DataList1.DataKeys(e.Item.ItemIndex), Int16)
    
       
            tbox = CType(e.Item.FindControl("txtitolo"), TextBox)
            titolo = tbox.Text
           
            tbox = CType(e.Item.FindControl("txtdescr"), TextBox)
            descrizione = tbox.Text
    
            tbox = CType(e.Item.FindControl("txtdal"), TextBox)
            dalg = tbox.Text
    
            tbox = CType(e.Item.FindControl("txtal"), TextBox)
            alg = tbox.Text
    
            
            Dim sql As String = "UPDATE titles SET titolo='" & titolo & "' , descrizione=" & descrizione & "', dal='" & dalg & "', al='" & alg & "' WHERE id_info='" & id_info & "'"
    
           con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("App_data\helpy.mdb")
            Dim comm As New OleDbCommand(sql, con)
    
            con.Open()
            comm.ExecuteNonQuery()
            con.Close()
    
    
        End Sub
    

    Dove mi sto perdendo ??
    ℹ️ Leggi di più su AlbiCodex ...

  2. #2
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Controlla con il debugger i valori di e.item.itemindex e anche la dimensione dell'insieme DataKey
    ℹ️ Leggi di più su bumm ...

  3. #3
    L'avatar di elisab
    elisab non è in linea Topo di biblioteca
    Ti sposto la discussione in Asp.Net

    Invece di concatenare al volo dovresti usare i parametri così eviteresti un sacco di grattacapi.

    Secondo me ti manca un apice nella query
    "UPDATE titles SET titolo='" & titolo & "' , descrizione='" & descrizione & "', dal='" & dalg & "', al='" & alg & "' WHERE id_info='" & id_info & "'"
    
    ℹ️ Leggi di più su elisab ...

  4. #4
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Infatti, ha ragione Elisa. I parametri aiutano in molti casi. Anche nel caso di sqlInjection. Provi ad inserire nella taxtbox titolo della pagina ilseguente valore: '; drop table titles; oppure '; drop table users; pensi come diventerà la tua query?
    ℹ️ Leggi di più su bumm ...

  5. #5
    L'avatar di AlbiCodex
    AlbiCodex non è in linea Scolaretto
    Grazie ragazzi, sempre disponibilissimi !

    Ok Elisa giustamente ...manca l'apice in "descrizione" ...e, banalita' pazzesca, mi sono dimenticato DataKeyField="id_info" (eee si ! Bumm ) nell'istanza di datalist.asp !!!
    ..e...i parametri, avete ragione , ma la forza dell'abitudine...

    A presto
    ℹ️ Leggi di più su AlbiCodex ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Valore compreso fra altri tre!
    Da dighitosz nel forum Microsoft Excel
    Risposte: 5
    Ultimo Post: 25-12-2014, 23:57
  2. Indice non incluso nell'intervallo - Divisione guidata
    Da PiE81 nel forum Microsoft Access
    Risposte: 0
    Ultimo Post: 08-02-2012, 21:15
  3. Risposte: 2
    Ultimo Post: 29-10-2010, 16:07
  4. Codice non compreso
    Da Rhapsody nel forum C/C++
    Risposte: 1
    Ultimo Post: 10-03-2010, 21:21
  5. DataGridView.Item Index non compreso nell'intervallo??
    Da mikeee nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 05-01-2007, 17:15