Bahatmut
Active member
Ok, I am writing a program where I am sadly having to mix datasets with datareaders..at least that's the aim. I finally got it to get past the fillign the data table (I Think) but now it's failignon the execution of the data reader.
[/color][/size]
The only error I get is a 'Unhandeled exception of type 'System.Data.OleDB.OleDBException' occured in system.data.dll'
and nothign else. The query for the reader appears to be in order, as does it's connection string, and command.
VB.NET:
[size=2][color=#0000ff]Dim[/color][/size][size=2] VHSData [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] DataSet
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] Findrow [/size][size=2][color=#0000ff]As[/color][/size][size=2] DataRow
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] VHSTable [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] DataTable
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] VHSQry [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = "SELECT Ref, Genre FROM Videos WHERE Spare1='Video'"
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] VHsAdapt [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] OleDbDataAdapter
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] VhsConnStr [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=z:\videobarn.mdb;User ID=admin;Password="
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] VHSConn [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] OleDbConnection(VhsConnStr)
VHsAdapt.SelectCommand = [/size][size=2][color=#0000ff]New[/color][/size][size=2] OleDbCommand(VHSQry, VHSConn)
VHsAdapt.FillSchema(VHSData, SchemaType.Source, "Videos")
VHsAdapt.Fill(VHSTable)
VHSConn.Close()
[/size][size=2][color=#008000]' Step 2, retreive Returned_Rents info to be processed.
[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] IncQry [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = "Select Ref,Return_Status,Cost FROM Returned_Loans WHERE Ref NOT = 'Import' AND NOT Return_Status = '-'"
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] IncConnStr [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=z:\videobarn.mdb;User ID=admin;Password="
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] IncConn [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] OleDbConnection(IncConnStr)
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] IncCmd [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] OleDbCommand(IncQry, IncConn)
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] IncRead [/size][size=2][color=#0000ff]As[/color][/size][size=2] OleDbDataReader
IncConn.Open()
IncRead = IncCmd.ExecuteReader <-------FAILS HERE -------
[/size][size=2][color=#0000ff]While[/color][/size][size=2] IncRead.Read
[/size][size=2][color=#0000ff]If[/color][/size][size=2] [/size][size=2][color=#0000ff]Not[/color][/size][size=2] IncRead.GetValue(1) [/size][size=2][color=#0000ff]Is[/color][/size][size=2] [/size][size=2][color=#0000ff]Nothing[/color][/size][size=2] [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]Findrow = VHSTable.Rows.Find(IncRead.GetString(0))
[/size][size=2][color=#0000ff]If[/color][/size][size=2] [/size][size=2][color=#0000ff]Not[/color][/size][size=2] Findrow(1) [/size][size=2][color=#0000ff]Is[/color][/size][size=2] [/size][size=2][color=#0000ff]Nothing[/color][/size][size=2] [/size][size=2][color=#0000ff]Then
[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] Findrow(2) = "Adult" [/size][size=2][color=#0000ff]Then
[/color][/size][size=2]Label17.Text = Label17.Text + IncRead.GetValue(2)
[/size][size=2][color=#0000ff]Else
[/color][/size][size=2]Label16.Text = Label16.Text + IncRead.GetValue(2)
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If
[/color][/size][size=2]Label18.Text = Label16.Text + Label17.Text
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]While
[/color][/size][size=2]IncConn.Close()
[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub
End[/color][/size][size=2] [/size][size=2][color=#0000ff]Class[/color][/size]
[size=2][color=#0000ff]
The only error I get is a 'Unhandeled exception of type 'System.Data.OleDB.OleDBException' occured in system.data.dll'
and nothign else. The query for the reader appears to be in order, as does it's connection string, and command.