ajirwin
Feb 4th, 2003, 12:56 PM
I'm in the process of learning VB.Net and I have been rewriting some of my VB6 projects. I'm having a problem understanding ADO.NET. Can I just call my database connection from a module like I did in VB6. And if so how do I make it work in my other modules that do my business functions.
Examples:
VB6 Database connection
Public objAccessConnection As adodb.Connection
Public rsAccess As adodb.Recordset
Public mbAddNewFlag As Boolean
Public mbEditFlag As Boolean
Public mbDataChanged As Boolean
Public Sub DBConnection()
On Error GoTo CheckError_Connection
Set objAccessConnection = New adodb.Connection
objAccessConnection.CursorLocation = adUseClient
objAccessConnection.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\ConcorddB.mdb;Jet OLEDB:Database Password="
Exit Sub
CheckError_Connection:
MsgBox Err.Description, 16, "Error message. "
Resume Next
End Sub
.NET Data connection
Public Sub DBCon()
Dim myConnString As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & VB6.GetPath & "\ConcorddB.mdb;Jet OLEDB:Database Password=" ' Put here the connection string
Dim myConnection As New System.Data.OleDb.OleDbConnection(myConnString) 'Create a new connection
myConnection.Open() ' Open Connection
End Sub
Business Function
VB6
Function GetCustName(iCol As Integer, dDocket As Double) As String
Dim sName As String, rsName As adodb.Recordset
sName = "SELECT CustName FROM [Orders(m)] WHERE OrderID = " & dDocket & ""
Set rsName = New adodb.Recordset
rsName.Open sName, objAccessConnection, adOpenKeyset, adLockReadOnly
If rsName.EOF Then
GetCustName = "False"
Else
GetCustName = rsName!CustName
End If
rsName.ActiveConnection = Nothing
End Function
.NET
Function GetCustNameNet(ByRef iCol As Short, ByRef dDocket As Double) As String
Dim sNameN As String = "SELECT CustName FROM [Orders(m)] WHERE OrderID = " & dDocket & ""
Dim rsNameN As New System.Data.OleDb.OleDbCommand(sNameN, myconnection) ' Stuck here
rsNameN.Open(sNameN, objAccessConnection, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockReadOnly)
If rsNameN.EOF Then
GetCustNameNet = "False"
Else
GetCustNameNet = rsNameN.Fields("CustName").Value
End If
End Function
I got stuck on the connection to the database in the .NET version.
Can any one point me in the right direction.
Examples:
VB6 Database connection
Public objAccessConnection As adodb.Connection
Public rsAccess As adodb.Recordset
Public mbAddNewFlag As Boolean
Public mbEditFlag As Boolean
Public mbDataChanged As Boolean
Public Sub DBConnection()
On Error GoTo CheckError_Connection
Set objAccessConnection = New adodb.Connection
objAccessConnection.CursorLocation = adUseClient
objAccessConnection.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\ConcorddB.mdb;Jet OLEDB:Database Password="
Exit Sub
CheckError_Connection:
MsgBox Err.Description, 16, "Error message. "
Resume Next
End Sub
.NET Data connection
Public Sub DBCon()
Dim myConnString As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & VB6.GetPath & "\ConcorddB.mdb;Jet OLEDB:Database Password=" ' Put here the connection string
Dim myConnection As New System.Data.OleDb.OleDbConnection(myConnString) 'Create a new connection
myConnection.Open() ' Open Connection
End Sub
Business Function
VB6
Function GetCustName(iCol As Integer, dDocket As Double) As String
Dim sName As String, rsName As adodb.Recordset
sName = "SELECT CustName FROM [Orders(m)] WHERE OrderID = " & dDocket & ""
Set rsName = New adodb.Recordset
rsName.Open sName, objAccessConnection, adOpenKeyset, adLockReadOnly
If rsName.EOF Then
GetCustName = "False"
Else
GetCustName = rsName!CustName
End If
rsName.ActiveConnection = Nothing
End Function
.NET
Function GetCustNameNet(ByRef iCol As Short, ByRef dDocket As Double) As String
Dim sNameN As String = "SELECT CustName FROM [Orders(m)] WHERE OrderID = " & dDocket & ""
Dim rsNameN As New System.Data.OleDb.OleDbCommand(sNameN, myconnection) ' Stuck here
rsNameN.Open(sNameN, objAccessConnection, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockReadOnly)
If rsNameN.EOF Then
GetCustNameNet = "False"
Else
GetCustNameNet = rsNameN.Fields("CustName").Value
End If
End Function
I got stuck on the connection to the database in the .NET version.
Can any one point me in the right direction.