VB6 Подключение к базе данных

Хорошо, то, что я хочу сделать, звучит просто. Я хотел бы загрузить форму и при загрузке формы вызвать SQL-оператор, который возвращает 1 элемент и помещает его в TextBox1. Вот что у меня так далеко.

 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

РЕДАКТИРОВАТЬ

Хорошо, это был Text1.Text, но теперь я просто получаю строку в текстовом поле, а не фактическую запись базы данных

1 ответ

Решение

Вы можете увидеть хороший пример настройки соединений ADODB здесь: http://www.timesheetsmts.com/adotutorial.htm

Вашему проекту прежде всего нужна ссылка на библиотеку ADODB. Сделать это:

  1. Откройте свой проект
  2. Выберите меню " Проект" вверху и в раскрывающемся списке выберите " Ссылки".
  3. Установите флажок "Microsoft ActiveX Data Objects 2.x Library" (где x - это наибольшее число, которое вы видите - в моем Windows XP Pro SP2 оно равно 2.7"

Пример с вашим проектом:

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
Другие вопросы по тегам