Подключение к серверу и создание запроса

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Подключение к серверу и создание запроса

Сообщение KPEATOP » 12.05.2005 (Чт) 8:08

Подскажите кто знает плиззз!!
Я новичок в работе с базами данных. Проблема вот в чем.
Я подключаюсь к серверу 10.1.6.5 с базми данных bd_skw и пытаюсь достать данные из таблицы vw_tnp , где skw_id =496 , dat_nzam='03/04/2003' и goriz=1873
Делаю запрос и при выполнение программа говорит, что не может выполнить qdfTemp.Execute
Подскажите, где ошибка. Может есть другой способ вытащить данные из таблицы? Заранее спасибо. Вот моя процедура:


Dim db As Database
Dim strSQL As String
Dim gwsMainWS As Workspace
Dim qdfTemp As QueryDef
Dim rstTemp As Recordset

Set gwsMainWS = DBEngine.CreateWorkspace("MainWS", "admin", vbNullString)

sConnect = "ODBC;DSN=bdskw 10.1.6.5;uid=;pwd=;DATABASE=bd_skw;"

strSQL = "select * from vw_tnp where skw_id =496 and dat_nzam='03/04/2003' and goriz=1873"

Set db = gwsMainWS.OpenDatabase("", 0, 0, sConnect)

Set qdfTemp = db.CreateQueryDef("", strSQL)
qdfTemp.Connect = sConnect

qdfTemp.Execute

Set rstTemp = qdfTemp.OpenRecordset(dbOpenDynaset)
Вечность пахнет нефтью

snov
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 28.11.2003 (Пт) 10:12
Откуда: Челябинск

Re: Подключение к серверу и создание запроса

Сообщение snov » 12.05.2005 (Чт) 9:44

Ты же вроде (в твоем коде) создаешь запрос в базе(!) дык дай ему имя!
P.S. Для того чтобы выдернуть данные из базы совсем не обязательно делать в ней запрос.
попробуй так
Код: Выделить всё
Set rstTemp=db.OpenRecordset(strSQL)

В рез-те у тебя должен получиться рекорсет со всему данными удовлетворяющими условию

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Сообщение KPEATOP » 12.05.2005 (Чт) 10:04

Я попробую без запроса. А как далбше ? (я напоминаю, что я новичок в работе с базами данных).
Как, например, из поля skw таблицы vw_tnp вытащить цифру в TextBox

Строка запрса:
strSQL = "select * from vw_tnp where skw_id =496 and dat_nzam='03/04/2003' and goriz=1873"
Вечность пахнет нефтью

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Сообщение KPEATOP » 12.05.2005 (Чт) 11:06

Я никак не могу понять КАК ОБРАТИТЬСЯ К ПОЛЮ ТАБЛИИЦЫ, чтоб вытащить цифру
Вечность пахнет нефтью

snov
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 28.11.2003 (Пт) 10:12
Откуда: Челябинск

Сообщение snov » 12.05.2005 (Чт) 11:19

KPEATOP писал(а):Я никак не могу понять КАК ОБРАТИТЬСЯ К ПОЛЮ ТАБЛИИЦЫ, чтоб вытащить цифру

Обращение к полю реализеутся либо так TextBox1.Text=rstTemp.Fields(sFLD), где sFLD - имя поля. В твоем случае
Код: Выделить всё
TextBox1.Text = rstTemp.Fields("skw")

либо так TextBox1.Text=rstTemp.Fields(nFLD), где nFLD - номер поля (начинаются с 0 и дп N-1, где N - колсичество полей)
можно еще так обратиться TextBox1.Text = rstTemp![skw]

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Сообщение KPEATOP » 12.05.2005 (Чт) 11:45

SNOV большое спасибо )
УДАЧИ !!!!!
Вечность пахнет нефтью


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

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

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

    TopList