Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: adodb и сортировка Добавлено: 21.06.07 18:13  

Автор вопроса:  DINaz
Парни, туплю уж полдня...
В чем прикол, подскажите?
Есть база аксесс
VB60
msado 2.8

создаю подключение к базе
conBase.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sDBPath + ";Persist Security Info=False"
    conBase.Open

затем

открываю рекордсет и хочу его отсортировать
 Dim xxx As New ADODB.Recordset
    xxx.Open "select * from blancs", conBase, adOpenKeyset, adLockOptimistic
    xxx.Sort = "ZID"

кидает такую ошибку: текущий проводник не поддерживает интерфейсы сортировки и фильтрации...

Чего ему не хватает??

За ранее благодарен...

Ответить

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

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



Вопросов: 0
Ответов: 454
 Профиль | | #1 Добавлено: 22.06.07 11:12
   conBase.CursorLocation = adUseClient

Ответить

Номер ответа: 2
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #2
Добавлено: 22.06.07 12:23
текущий проводник не поддерживает интерфейсы сортировки и фильтрации...


Вероятно под проводником имеется ввиду OKEDB-драйвер базы. Почему бы тебе не отсортировать рекордсет сразу одним запросом?

xxx.Open "select * from blancs order by ZID", conBase, adOpenKeyset, adLockOptimistic

Ответить

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



Вопросов: 0
Ответов: 454
 Профиль | | #3 Добавлено: 23.06.07 01:46
Не найдено ни одного документа, соответствующего запросу OKEDB-драйвер базы.

вопрос был:
текущий проводник не поддерживает интерфейсы сортировки и фильтрации...

Ответить

Номер ответа: 4
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #4
Добавлено: 25.06.07 10:54
оЧеПЯтка вышка потомучт;) OLEDB разумеется Иными словами в целом ADO сортировать методом .Sort может, но этод метод не работает с драйвером базы данных, который указан в строке подключения. Также привел пример решения указанной задачи, если что. Что не устраивает?

Ответить

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



Вопросов: 2
Ответов: 6
 Профиль | | #5 Добавлено: 10.07.07 15:35
Всем привет. Только приехал из отпуска :)
Собстна, sql рулит, но мне надо динамически менять сортировку. Собствнно, adodb - только транспорт для truedbgrid. Так что, думал, что можно сделать сортировку намного проще, чем каждый раз убивать adodb, создавать его с нужной сортировкой. Тем более, что в примере для truedb сортировка делалась через sort. Собственно, и делаю простой элемент - щелкаешь на название столбца, он и сортирует столбец... Ладно, завтра буду пробовать дальше.
Блин, как наворачиваешь на dbgrid изменение ширин колонок (конфигурацию) да и еще стили включаешь, плюс всякая хрень - начинает глюкать...

Ответить

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



Вопросов: 2
Ответов: 6
 Профиль | | #6 Добавлено: 10.07.07 17:22
EUGY: conBase.CursorLocation = adUseClient
спасибо, помогло. Блин, сразу все заработало.
Я тормоз. Я чета решил, что понятие курсор относится к recordset-у, и что в рекордсете нужно устанавливать это свойство. Естествнно, в рекордсете нет такого свойства, так что я пошел дальше мучаться. Не знание основ мастдайского аксесса :)
Всем спасибо за помочь

Ответить

Номер ответа: 7
Автор ответа:
 ENIX



ICQ: 238819245 

Вопросов: 9
Ответов: 76
 Профиль | | #7 Добавлено: 17.07.07 15:50
Сори за оффтоп, DINaz читая твои посты заметил слово "truedbgrid". Возможно ли так чтобы ты скинул мне этот контрол т.к. кроме демки я найти не смог. Пока пользуюсь SGrid'om , но в нем приходится многое дописывать самому.

Отправить или дать ссылку можеш на enix@meta.ua
Заранее благодарен.

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 17.07.07 20:47
Собствнно, adodb - только транспорт для truedbgrid
Да нет.. он нормально поддержиует SQL, с помощью его и отсортировать... а привязки к всяким гридам - то так, для прикола :)

Ответить

Номер ответа: 9
Автор ответа:
 DINaz



Вопросов: 2
Ответов: 6
 Профиль | | #9 Добавлено: 23.07.07 10:11

Да нет.. он нормально поддержиует SQL, с помощью его и отсортировать... а привязки к всяким гридам - то так, для прикола :)

Все правильно, реально работает adodb, грид его только отоборажает. Но мне сам по себе adodb не нужен, он был выбран только потому, что с ним работает dbgid.
   Кстати, с adUseClient тоже поимел ряд неприятностей. Стала появляться непонятная ошибка при попытке обновить строку таблицы следующим кодом:

    Dim rsBlanc As New ADODB.Recordset
    rsBlanc.Open "select * from advtmp", conBase, adOpenKeyset, adLockOptimistic
    
    With rsBlanc
        .MoveFirst
        While Not .EOF
            .Fields("zstatus";) = GetAdvertStatus(.Fields("zcompid";), .Fields("zcontrnum";))
            .Update
            .MoveNext
        Wend
    End With

ошибка: неполный первычный ключ или обновляется слишком много строк.
Но обновляется ведь только одна строка? Раньше, когда стояло adUseServer, все было нормально. Таблица advTmp, в котороый вообще нет ключей - для временных данных. Пришлось добавить счетчик... Все заработало.

Ответить

Страница: 1 |

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



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