Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

VB6 Connecting to a Database

Alright, what i want to do sounds simple. I would like to load a form and on form load call a sql statement that returns 1 item and places it in TextBox1. Here is what i have so far.

 Private Sub Form_Load()

 Call openTheDatabase

 End Sub

 Public Function openTheDatabase() As Boolean

 '-- Here we want to open the database
 Dim sConnectionString As String
 Dim strSQLStmt As String

 '-- Build the connection string
 sConnectionString = "PROVIDER = MSDASQL;driver={SQL Server};database=databasename ;server=servername;uid=;pwd=;"


 strSQLStmt = "SELECT chvDealerName " & _
        "From dbo.tblDealers Where chrVSCAcctNum = '90442001'"

 TextBox1.Text = strSQLStmt

 End Function

EDIT

Ok it was Text1.Text, but now im just getting the string in the textbox, not the actual database entry

like image 440
Zingo Avatar asked Jun 11 '26 12:06

Zingo


1 Answers

You can see a solid example of setting up ADODB connections here: http://www.timesheetsmts.com/adotutorial.htm

Your project needs a reference to the ADODB library before anything. To do this:

  1. Open your project
  2. Click the Project menu on the top and click References in the dropdown
  3. Check the "Microsoft ActiveX Data Objects 2.x Library" (with x being the highest number you see - on my Windows XP Pro SP2 box, it is 2.7"

Example with your project:

Private Sub Form_Load()

 Call openTheDatabase

 End Sub

 Public Function openTheDatabase() As Boolean

 '-- Here we want to open the database
 Dim sConnectionString As String
 Dim strSQLStmt As String

 '-- Build the connection string
 sConnectionString = "PROVIDER = MSDASQL;driver={SQL Server};database=databasename ;server=servername;uid=;pwd=;"


 strSQLStmt = "SELECT chvDealerName " & _
        "From dbo.tblDealers Where chrVSCAcctNum = '90442001'"

'DB WORK
Dim db As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim result As String

db.ConnectionString = sConnectionString 
db.Open 'open connection

With cmd
  .ActiveConnection = db
  .CommandText = strSQLStmt
  .CommandType = adCmdText
End With

With rs
  .CursorType = adOpenStatic
  .CursorLocation = adUseClient
  .LockType = adLockOptimistic
  .Open cmd
End With

If rs.EOF = False Then
    rs.MoveFirst
    Let result = rs.Fields(0)
End If
'close conns
rs.Close
db.Close
Set db = Nothing
Set cmd = Nothing
Set rs = Nothing


'set local box

' TextBox1.Text = strSQLStmt
TextBox1.Text = result


 End Function
like image 183
tonymke Avatar answered Jun 17 '26 10:06

tonymke



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!