Ute på djupt vatten igen... Sitter och testar att fylla ett DataSet med lite data från en Accessdatabas. Efter att antal felmeddelanden har jag nu kommit till: Object reference not set to an instance of an object. Prova att hämta hem ADO 2.7 via www.microsoft.com/data och se om du får det att fungera. 1.0 har jag för mig var för 2.7 ovh vs 2003 installerar mdac 2.8 Det var visst inte så lätt... På min ordinarie dator (1) så löste åtgärden problemet men när jag testade på en äldre dator (2) som jag använder i bland så fick jag samma felmeddelande (Object reference not set to an instance of an object.). Jag gjorde precis som på dator 1 och uppdaterade till MDAC 2.8 men det hjälpte inte. En sökning visar att adodb.dll inte existerar trots uppdateringen. Kan det vara onda andar, övernaturliga fenomen eller mormor som går igen..? När jag kom hem så startade jag upp dator 1 igen. För att återfå lite självförtroende så öppnade jag sidan som så sent som för några timmar sedan fungerade fint, men vad händer? Felet är tillbaka och adodb.dll är borta! Nu köper jag en bok om knyppling i stället...adodb.dll saknas
Efter en sökning så är det närmaste jag kommer ett tips från Microsoft om att registrera adodb.dll i GAC. Detta gäller .NET Framework 1.0 (ej SDK). Själv har jag 1.1 SDK. Vad detta innebär vet jag ännu inte men vid en sökning på min dator så existerar inte adodb.dll! Har lagt åtskilliga timmar på att försöka presentera data från en databas utan att lyckas. Kan det bero på detta, och hur åtgärdar jag det?Sv: adodb.dll saknas
Sv: adodb.dll saknas
Tllägg:
Dator 1: WinXP-Pro, Framework 1.1 SDK, IIS.
Dator 2: Win2000-Pro, Framework 1.1, WebMatrix-server.
Felet uppstår bara om jag använder DataSet (ex.1) för att presentera data via en DataList (se nedan). Även när jag laddar upp filen till mitt webbhotell så får jag samma felmeddelande. Hur går jag vidare?
Fungerar ej:
<code>
Sub Page_Load(sender As Object, e As EventArgs)
Dim dbConnection as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=" & Server.MapPath("database\PlayersNGames.mdb"))
Dim queryString As String = "SELECT [TblPlayers].* FROM [TblPlayers] ORDER BY FldName"
Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter
dataAdapter.SelectCommand = dbCommand
Dim dataSet As System.Data.DataSet = New System.Data.DataSet
dataAdapter.Fill(dataSet)
Datalist1.DataSource = dataSet.Tables("TblGames").DefaultView
Datalist1.DataBind()
End Sub
</code>
Fungerar:
<code>
Sub Page_Load(Sender As Object, E As EventArgs)
Dim dbConnection as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=" & Server.MapPath("database\PlayersNGames.mdb"))
Dim queryString As String = "SELECT [TblPlayers].* FROM [TblPlayers] ORDER BY FldName"
Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
dbConnection.Open()
Datalist1.DataSource = dbCommand.ExecuteReader(CommandBehavior.CloseConnection)
Datalist1.DataBind()
End Sub
</code>
Jag har nu läst 368 sidor .NET literatur, ett otal guider samt ca 30 timmar testande utan att lyckats presentera en endaste lite byte med data från en databas via ett DataSet. Att man ska va så trög...Sv: adodb.dll saknas