Errore: Impostazione su una istanza di oggetto.

sabato 28 novembre 2015 - 19.49

Peppino Profilo | Junior Member

Ciao a tutti. Non so se sono nella stanza giusta!.
Il seguente pezzo di codice funziona correttamente ovunque (usando la stessa tabella con gli stessi dati)
viene usato meno che ad una parte dandomi come errore: riferimento a un oggetto non impostato su un’istanza di oggetto.
Qualcuno può darmi indicazione da cosa potrebbe dipendere questo fenomeno?
Grazie in anticipo per l’eventuale risposta: Ciao.

Dim condominio As String = CmbCondominio.Text

Dim dst As DataSet
Dim adp As SqlDataAdapter
Dim bds As BindingSource

'Ricavo il numero di condomini appartenenti al condominio selezionato.
Dim cmd As SqlCommand
cmd = New SqlCommand()
cmd.Connection = ConnessioneDatabase
cmd.CommandText = "SELECT COUNT(*) FROM Condomini_dettaglio WHERE Condominio = @condominio"
cmd.Parameters.Add(New SqlParameter("@condominio", SqlDbType.VarChar))
cmd.Parameters("@condominio").Value = condominio
ConnessioneDatabase.Open()
Dim numerocondomini As Object = cmd.ExecuteScalar()
ConnessioneDatabase.Close()
If numerocondomini Is DBNull.Value Or numerocondomini Is Nothing Then
numerocondomini = 0
End If

Dim RecordCondomini As Integer = CInt(numerocondomini)

Dim cmd1 As SqlCommand
cmd1 = New SqlCommand()
cmd1.Connection = SqlHelper.ConnessioneDatabase
cmd1.CommandText = "SELECT * FROM Condomini_dettaglio WHERE Condominio = @condominio"
cmd1.Parameters.Add(New SqlParameter("@condominio", SqlDbType.VarChar))
cmd1.Parameters("@condominio").Value = condominio

adp = New SqlDataAdapter(cmd1)
dst = New DataSet

adp.Fill(dst, "Condominio")
adp.Fill(dst, "Cognome")
adp.Fill(dst, "Nome")
adp.Fill(dst, "P_I")
adp.Fill(dst, "Proprietà")
adp.Fill(dst, "Scala")
adp.Fill(dst, "Piano")
adp.Fill(dst, "Interno")
adp.Fill(dst, "Immobile")

bds = New BindingSource()
bds.DataSource = dst

bds.DataMember = "Condominio"
bds.DataMember = "Cognome"
bds.DataMember = "Nome"
bds.DataMember = "P_I"
bds.DataMember = "Proprietà"
bds.DataMember = "Scala"
bds.DataMember = "Piano"
bds.DataMember = "Interno"
bds.DataMember = "Immobile"

adp.Dispose()
cmd1.Dispose()
cmd1.Connection.Close()

Dim i As Integer = 0

For i = i To i + RecordCondomini - 1

Dim cognome As String
Dim nome As String
Dim p_i As String
Dim proprietà As Integer
Dim scala As String
Dim piano As String
Dim interno As String
Dim immobile As String

If i < bds.Count Then
condominio = CStr(dst.Tables("Condominio").Rows(i).Item(1))
cognome = CStr(dst.Tables("Cognome").Rows(i).Item(2))
nome = CStr(dst.Tables("Nome").Rows(i).Item(3))
p_i = CStr(dst.Tables("P_I").Rows(i).Item(4))
proprietà = CInt(CStr(dst.Tables("Proprietà").Rows(i).Item(5)))
scala = CStr(dst.Tables("Scala").Rows(i).Item(6))
piano = CStr(dst.Tables("Piano").Rows(i).Item(7))
interno = CStr(dst.Tables("Interno").Rows(i).Item(8))
immobile = CStr(dst.Tables("Immobile").Rows(i).Item(18))

End If
Next

Peppino Profilo | Junior Member

Penso di aver risolto. Grazie comunque a tutti. Ciao.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5