Har problem med att få min klass att fungera som den ska. Klassen är till för att fixa kopplingar m.m. till databasen.
Klassens kod:
Imports System.Data
Imports System.Data.OleDb
Public Class sqlConn
Public DBConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"DataSource=C:\Inetpub\wwwroot\intranet\db\munksjo.mdb;User Id=admin;Password=;")
Public Function DBClose()
If Me.DBConnection.State.Open = ConnectionState.Open Then
Me.DBConnection.Close()
End If
End Function
Public Function DBOpen()
If Not Me.DBConnection.State.Open = ConnectionState.Open Then
Me.DBConnection.Open()
End If
End Function
Public Function returnDataReader(ByVal SQLQuery As String) As OleDbDataReader
Dim myCommand As New OleDbCommand(SQLQuery, Me.DBConnection)
Return myCommand.ExecuteReader()
End Function
Public Function SQLTransaction(ByVal SQLCommand As String)
Dim myCommand As New OleDbCommand(SQLCommand, Me.DBConnection)
Dim myTrans As OleDbTransaction
myTrans = Me.DBConnection.BeginTransaction()
myCommand.Transaction = myTrans
myCommand.CommandText = SQLCommand
myCommand.ExecuteNonQuery()
myTrans.Commit()
End Function
End Class
Koden på sidan är:
Imports System.data.oledb
Imports intranet.sqlConn
Public Class dbtest
Inherits System.Web.UI.UserControl
#Region " Web Form Designer Generated Code "
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) & _
Handles MyBase.Load
'Put user code to initialize the page here
Dim strSQL As String
Dim i As New sqlConn
Try
i.DBOpen()
strSQL = "SELECT * FROM users"
Dim dr As OleDb.OleDbDataReader = i.returnDataReader(strSQL)
If dr.Read = True Then
Response.Write(dr("name"))
Response.Write(dr("pwd"))
End If
i.DBClose()
Catch err As OleDbException
Throw err
Catch ex As Exception
Throw ex
End Try
'getBook()
End Sub
End Class
Felmeddelandet jag får är:
ExecuteReader kräver en anslutning som är öppen och tillgänglig. Anslutningens aktuella tillstånd är Closed.
Någon som ser något fel som jag har gjort, eller som har förslag på hur man kan göra?