Flyttas till från Visual Basic.
data till listbox från dataview
15 svar · 424 visningar · startad av Jymdis
bump!
Om jag säger såhär, varför får jag:
Additional information: Object reference not set to an instance of an object.
på
t = objDataSet.Tables("cars")
Om jag då säger så här:
1. Hur ser din kod ut innan?
2. Hur deklarerar du t?
3. Hur deklarerar du objDataSet
4. Hur fyller du objDataSet
5. Är du säker på att du har data i objDataSet?
Felet beror på att du inte har deklarerat ett objekt.
Private Sub loaddatabase()
Dim b As objekt = New objekt()
Dim t As DataTable
t = objDataSet.Tables("cars")
Dim myRow As DataRow
For Each myRow In t.Rows
b.effekt = (myRow("effekt"))
b.kaross = (myRow("kaross"))
b.marke = (myRow("marke"))
b.modell = (myRow("modell"))
b.pris = (myRow("pris"))
b.regnr = (myRow("regnr"))
b.typ = (myRow("typ"))
Next myRow
register.Add(b)
End Sub
Private Sub OpenConFillDSetCloseCon()
'Clear DataView
objDataView = Nothing
'Create an DatSet object
objDataSet = New DataSet()
'Open a channel to the database
objConnection.Open()
'Create an object DataAdapter to the connection and
'Inform where are the data
objDataAdapter = New OleDbDataAdapter("Select * FROM cars", objConnection)
'Fill the dataset
objDataAdapter.Fill(objDataSet, "cars")
'Create a DataView object from table "Company"
objDataView = New DataView(objDataSet.Tables("cars"))
objCM = CType(Me.BindingContext(objDataView), CurrencyManager)
'Close the connection
objConnection.Close()
End Sub
Public Sub UpdateListbox()
OpenConFillDSetCloseCon()
Dim b As objekt = New objekt()
ListBox1.Items.Clear()
loaddatabase()
For Each b In register
If b.marke = filter.Text Or filter.Text = "" Then
ListBox1.Items.Add(b.marke & " " & b.typ & " (" & b.regnr & ")")
End If
Next
End Sub
Ok, du måste ändra
Dim t As DataTable
till
Dim t As DataTable = New DataTable
annars har du inget object att stoppa in data i.
Jo, jag prova med det innan men det gjorde ingen skillnad. Dock så slängde jag in OpenConFillDSetCloseCon() i updatelistbox() och då funkar det iaf utan felmeddelande. Fast det blir bara en tom rad i arrayn "register".
Funkar det inte att göra som jag gjort i updatelistbox om man har dom kolumnerna?
Hehe nevermind, ingen data i databsen :P
Hur nollställer man en collection?
dim Jymdis as Collection
Jymdis = nothing
' kanske
jepps =) testade d själv innan å d fungera ju =)
tackar iaf
Ok, du måste ändra
kod:--------------------------------------------------------------------------------
Dim t As DataTable
--------------------------------------------------------------------------------till
kod:--------------------------------------------------------------------------------
Dim t As DataTable = New DataTable
--------------------------------------------------------------------------------annars har du inget object att stoppa in data i.
Men PDahlen, nu driver du allt med honom.
Dim t As DataTable = New DataTable
och
Dim t As DataTable
t = objDataSet.Tables("cars")
Fyller båda två variablen t (som är av typen DataTable) med ett DataTable. Den översta med ett nytt Tomt DataTable, medans det andra med ett DataTabel, som bör innehålla data.
Precis som om du gör:
string name;
name = "Magnus";
Lite okoncentrerad kanske :)
- magnus
Jo, lite okoncentrerad kanske, MEN, "Object reference not set to an instance of an object" har dykt upp när jag har glömt att sätta NEW på t.ex. DataSet m.m. innan jag försöker fylla dom.
Det var därför jag nämnde det. :)
Men nu när jag gäspar och kliar mig i huvudet så ser jag såklart att det inte ska vara så i det här fallet.
Object reference not set to an instance of an object" har dykt upp när jag har glömt att sätta NEW på t.ex. DataSet m.m. innan jag försöker fylla dom.
Där ser man vilket skräp DataSet är :)
Hoppas inte nöff läser detta nu, för då får jag väl honom på halsen :)
- Magnus
Gladh skrev:
Object reference not set to an instance of an object" har dykt upp när jag har glömt att sätta NEW på t.ex. DataSet m.m. innan jag försöker fylla dom.
Där ser man vilket skräp DataSet är :)
Hoppas inte nöff läser detta nu, för då får jag väl honom på halsen :)
- Magnus
:moose

