Все про базы данных!

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Все про базы данных!

Сообщение Ramzes » 29.04.2004 (Чт) 23:24

Вот вопросик обширний у меня!
Мне надо:
1) узнать что такое SQL (ну я знаю но как это(sql) сязать с ВБ)
2) Как заносить и читать из базы данних средствами ВБ

_bel
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 21.04.2004 (Ср) 8:57

SQL из VB

Сообщение _bel » 05.05.2004 (Ср) 8:55

Я пользуюсь всегда вот этими функциями:

Создаю в проекте модуль:

Const strConect = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=img;Data Source=NEWSERVER" 'строка подключения для ADO
Public strSQL As String 'SQL-выражение
Public connect As New ADODB.Connection 'объект подключения
Public images As New ADODB.Recordset 'набор записей из таблицы, в данном примере таблица images
Public commandRez As New ADODB.Recordset 'набор записей, возвращаемый объектом SQLcommand
Public SQLcommand As New ADODB.Command 'объект, исполняющий SQL-запрос

Public Function InitBase() 'инициализация всех таблиц базы данных
connect.ConnectionString = strConect
connect.Open

With images 'в данном случае только одна таблица images
Set .ActiveConnection = connect
.Source = "SELECT * FROM images"
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open
End With

End Function

Public Function commandOnSQL(strSQL) 'выполнение SQL-запроса
On Error GoTo l1
With SQLcommand
.ActiveConnection = strConect
.CommandType = adCmdText
.CommandText = strSQL
Set commandRez = .Execute
End With
l1:
If Err <> 0 Then MsgBox "Операция не выполнена вследствие некорректоного SQL-запроса! " & strSQL, vbCritical, "Ошибка SQL-строки"
End Function

После создания этого модуля, ну например называем его ModuleSQL, в основной форме при загрузке инициализируем все это хозяйство:

Private Sub Form_Load()
Call ModuleSQL.InitBase
End Sub

Ну а теперь из любого места программы мы может работать SQL-запросами с таблицей images, находящейся на SQL-сервере, а результат запроса забираем из ModuleSQL.commandRez:

Private Sub Command1_Click()
strSQL = "SELECT img_name FROM images WHERE img_id = 3"
Call ModuleSQL.commandOnSQL(strSQL)
Text1=ModuleSQL.commandRez.Fields(0)
End Sub


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 0

    TopList