38 messaggi dal 06 giugno 2002
ciao ragazzi , ho un problema con un dataset e cache.

Nella mia pagina ho una ddlist che popolo con dei valori presi da db
io vorrei:
- prendere tutti questi valori e metterli in un dataset
- mettere in cache il dataset
- creare un dataview e sulla base di un cookies filtrare quello che ho messo in cache

ho fatto così ma non funziona:
'popola tendina case----------------------
Dim dst_case As New DataSet()
Dim dv_case As DataView
Dim adap1 As SqlDataAdapter

'--------- metto in cache
dst_case = CType(Cache("ch_dst_case"), DataSet)
If dst_case Is Nothing Then
Dim str_case As String = "select casa from cas"
adap1 = New SqlDataAdapter(str_case, cnx)
adap1.Fill(dst_case, "t_case")
Cache("ch_dst_case") = dst_case
End If
'--------- fine cache
dv_case = dst_case.Tables("t_case").DefaultView
dv_case.RowFilter = "casa LIKE'%" & valore & "%'"

dd_case.DataSource = dv_case
dd_case.DataTextField = "casa"
dd_case.DataBind()

If valore = "%" Then
dd_case.Items.Add(New ListItem("Tutte", "%"))
End If
' popola tendina case----------------------



mi dice
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.ArgumentNullException: Il valore non può essere null. Nome parametro: dataSet

l'errore è in adap1.Fill(dst_case, "t_case")
575 messaggi dal 06 settembre 2002
Contributi
dst_case = CType(Cache("ch_dst_case"), DataSet)

=>cosi imposti a nothing il dataset

If dst_case Is Nothing Then
=>entri perchè appunto il dataset è a nothing

Dim str_case As String = "select casa from cas"
adap1 = New SqlDataAdapter(str_case, cnx)

=>Esegui il metodo Fill su un oggetto nothing
adap1.Fill(dst_case, "t_case")

Cache("ch_dst_case") = dst_case
End If
La sintassi....:-)
ciao.
38 messaggi dal 06 giugno 2002
grazie per il tuo intervento... alla fine ci sono riuscito anche se in maniera un pò rozza

'popola tendina case----------------------
Dim pip As String
pip = valore

Dim dv_case As DataView

'Dim t_case As DataTable

'--------- metto in cache

'dst_case = Cache("ch_dst_case")

If Cache("ch_dst_case") Is Nothing Then
Dim dst_case As New DataSet()
Dim adap1 As SqlDataAdapter
Dim str_case As String = "select casa from cas"
adap1 = New SqlDataAdapter(str_case, cnx)
adap1.Fill(dst_case, "t_case")
Cache("ch_dst_case") = dst_case
dv_case = dst_case.Tables("t_case").DefaultView
dv_case.RowFilter = "casa LIKE'%" & valore & "%'"
Else
Dim dst_case As DataSet
dst_case = Cache("ch_dst_case")
dv_case = dst_case.Tables("t_case").DefaultView
dv_case.RowFilter = "casa LIKE'%" & valore & "%'"

End If

'--------- fine cache
575 messaggi dal 06 settembre 2002
Contributi
Fai il Cast
dst_case = Cache("ch_dst_case") No
dst_case = directcast(Cache("ch_dst_case") ,DataSet)
ciao.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.