Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Recordset ADO Добавлено: 26.12.03 12:06  

Автор вопроса:  Scuder | ICQ: 143518458 

Как узнать, открыт ли в данный момент рекордсет??

Эта гадина матерится, когда я его пытаюсь закрыть, если он не открывался..

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 Malyav



ICQ: 8440085 

Вопросов: 15
Ответов: 117
 Web-сайт: malyav.narod.ru
 Профиль | | #1
Добавлено: 26.12.03 12:35

Можно перед этим поставить OnError resume next а можно перед закрытием посмотреть какие-либо его свойства, например рекордкаунт. Ну на худой конец инициализировать его перед закрытием каким либо заведомо ненулевым значением.

Ответить

Номер ответа: 2
Автор ответа:
 Scuder



ICQ: 143518458 

Вопросов: 12
Ответов: 37
 Профиль | | #2 Добавлено: 26.12.03 13:50

Resume Next не фурычит.. Куда-то не туда "Resume" делает.. :-)

Свойства тоже не катят.. РекордКаунт в т.ч. Рекордсет может иметь и 0 записей, если это фильтр.. Про инициализацию не понял.. Открыть открытый рекордсет нельзя.

Можно, конечно, ввести глобальную переменную со значениями открыт/закрыт рекордсет, но что-то мне эта идея не очень нравится..

Ответить

Номер ответа: 3
Автор ответа:
 Malyav



ICQ: 8440085 

Вопросов: 15
Ответов: 117
 Web-сайт: malyav.narod.ru
 Профиль | | #3
Добавлено: 26.12.03 14:56
Дак просто задай ему новую выборку по SQL запросу,  например такомуSelect * from table потом Refresh ему, а потом уже закрывай. А зачем его закрывать, без закрытия нельзя обойтись?

Ответить

Номер ответа: 4
Автор ответа:
 Scuder



ICQ: 143518458 

Вопросов: 12
Ответов: 37
 Профиль | | #4 Добавлено: 26.12.03 15:05

:-) Ситуация такая: допустим при нажатии на кнопку мне нужно обновить данные в гриде, в зависимости от разных параметров и т.п. Но (так уж построена программа) при нажатии на кнопку, НЕИЗВЕСТНО, открыт рекордсет или нет. Может быть по-разному. Поэтому, если он ОТКРЫТ, я не могу его ещё раз открыть, а могу только закрыть. И наоборот, если он ЗАКРЫТ, то нельзя его ещё раз закрыть, можно только открыть. :-)

Поэтому меня АДО и убивает! :-( 

Но без него в данном случае никак не обойтись..

 

Ну неужели нет какой-нибудь определяющей функции??

 

Ответить

Номер ответа: 5
Автор ответа:
 Svetlana



ICQ: 262385618 

Вопросов: 43
Ответов: 205
 Профиль | | #5 Добавлено: 26.12.03 18:06
If rstServer.State = adStateOpen Then 'рекордсет открыт и можно делать  rstServer.Close

Ответить

Номер ответа: 6
Автор ответа:
 Scuder



ICQ: 143518458 

Вопросов: 12
Ответов: 37
 Профиль | | #6 Добавлено: 26.12.03 18:13

(Со слезами радости на глазах)

Спасибо!

;-)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам