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. Сделать это:
- Откройте свой проект
- Выберите меню " Проект" вверху и в раскрывающемся списке выберите " Ссылки".
- Установите флажок "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