ODBC: динамический курсор не поддерживает указанный порядок при вставке

RedCatX
Дата: 16.02.2015 02:50:30
У меня такая проблема:
Я создаю динамический курсор с запросом вида "SELECT * FROM table ORDER BY column", после чего вставляю несколько строк с помощью функции SQLBulkOperations(hstmt, SQL_ADD). Но вставленные данные не сортируются как указано в запросе, они просто идут в том порядке в каком они были добавлены. Как сделать так, чтобы добавленные данные располагались в нужном порядке, в соответствии с инструкцией "ORDER BY column"?
MasterZiv
Дата: 16.02.2015 08:12:11
RedCatX,

СУБД какая?
но в общем можно сказать, что динамические курсоры - достаточно тонкая материя, может быть что и никак.
RedCatX
Дата: 16.02.2015 15:22:23
MasterZiv, СУБД - MS SQL Server.
Dimitry Sibiryakov
Дата: 16.02.2015 18:00:19

RedCatX
вставленные данные не сортируются как указано в запросе, они просто идут в
том порядке в каком они были добавлены.

Как ты это определил?

Posted via ActualForum NNTP Server 1.5

RedCatX
Дата: 16.02.2015 20:54:31
Dimitry Sibiryakov
Как ты это определил?


При каждой вставке я получал закладку (bookmark) добавленной записи, и переходил к ней с помощью функции SQLFetchScroll(hstmt, SQL_FETCH_BOOKMARK, 0). После добавления всех записей я выполнил несколько раз SQLFetchScroll(hstmt, SQL_FETCH_PREV, 1), и увидел что записи располагаются в том порядке, в каком я их добавлял, а не в том что указан инструкцией ORDER BY.
White Owl
Дата: 17.02.2015 02:37:57
Ну значит "никак".
Закрой этот курсор, открой новый.