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
VB Code:
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
VB Code:
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
VB Code:
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
VB Code:
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.




Reply With Quote