Как записать результат SQL-запроса в переменную?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Malone32®
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 116
Зарегистрирован: 23.01.2005 (Вс) 21:19
Откуда: Оттуда

Как записать результат SQL-запроса в переменную?

Сообщение Malone32® » 24.07.2005 (Вс) 21:15

Как записать результат SQL-запроса в переменную? Запрос выдает единственное значение и его надо будет, например, вывести в Label без использования Data.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 24.07.2005 (Вс) 21:31

Если ты точно уверен, что полученный в результате выполнения SQL запроса рекордсет, содержит только одно значение, сделай так:
Код: Выделить всё

rs.MoveFirst
Result=rs.Fields(0).Value

Malone32®
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 116
Зарегистрирован: 23.01.2005 (Вс) 21:19
Откуда: Оттуда

Сообщение Malone32® » 25.07.2005 (Пн) 12:44

Спасибо!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 25.07.2005 (Пн) 14:38

А лучше проверить кол-во возвращенных записей:

Код: Выделить всё
dim cnt as long
rs.movelast 'для получения точного кол-ва надо перейти к последней записи
cnt=rs.recordcount
А я все практикую лечение травами...

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 25.07.2005 (Пн) 17:24

Совсем необязательно. Главное, чтобы был установлен клиентский тип курсора (при серверном кол-во записей зачастую не возвращается).
Хотя действительно без:
rs.MoveLast или rs.MoveFirst
RecordCount иногда показывает неправильное значение.

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 26.07.2005 (Вт) 3:59

Думаю тогда нужно вставить безопасный обработчик для выборки...
Код: Выделить всё
If (.EOF Or .BOF) Then
'Нет записей
else
'есть записи
.MoveFirst
...
end if
Бороться и искать, найти и перепрятать!


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 81

    TopList