информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяSpanning Tree Protocol: недокументированное применениеАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Не всегда клиентский курсор (и даже серверный) знает, сколько там записей ваще. 05.09.08 09:06  Число просмотров: 1276
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 05.09.08 09:46  Количество правок: 3
<"чистая" ссылка> <обсуждение закрыто>
Ты чего, чистый ODBC API гоняешь? Это путь истинных самураев:-)
Тады вот:

"Return the number of rows affected by an UPDATE, INSERT or
DELETE statement associated with the specified hstmt.

SQLRETURN SQLRowCount(
SQLHSTMT StatementHandle,
SQLINTEGER * RowCountPtr)"

Не смущайся, что в каментах нет селекта. Кое-когда оно выдаёт верную инфу ;-)
<programming>
[Win32] Существует ли в SQL API функция, которая определяет число записей, которое вернул запрос? 05.09.08 08:29  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Пишу на C++ программу, взаимодействующую с БД через ODBC. Всю логику проработал, осталась только одна проблема – та, что в названии темы.
Разобрался. Всем огромное спасибо. Тема закрыта 06.09.08 02:56  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
[Win32] Не всегда клиентский курсор (и даже серверный) знает, сколько там записей ваще. 05.09.08 09:06  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 05.09.08 09:46  Количество правок: 3
<"чистая" ссылка> <обсуждение закрыто>
Ты чего, чистый ODBC API гоняешь? Это путь истинных самураев:-)
Тады вот:

"Return the number of rows affected by an UPDATE, INSERT or
DELETE statement associated with the specified hstmt.

SQLRETURN SQLRowCount(
SQLHSTMT StatementHandle,
SQLINTEGER * RowCountPtr)"

Не смущайся, что в каментах нет селекта. Кое-когда оно выдаёт верную инфу ;-)
А когда происходит это «кое-когда»? 05.09.08 13:13  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
А когда происходит это «кое-когда»?

Я исполняю SELECT через SQLPrepare/SQLExecute.
После этого вызываю SQLRowCount . Она возвращает SQL_SUCCESS, но количество выставляет -1… Что делать?
Зачем тебе SQLPrepare? Юзаешь ручное управление транзакциями? 05.09.08 18:05  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Самый верный (и самый медленный) способ узнать число селектнутых записей - задать запрос вида select count * from (my_select_request) 05.09.08 15:18  
Автор: Ustin <Ustin> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
:)) Если в синхроне, то достаточно всего лишь выполнить подсчет полученных записей. 05.09.08 18:07  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Что есть "синхрон\асинхрон", пояснишь начинающему? 05.09.08 19:03  
Автор: Ustin <Ustin> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
Через ODBC API данные можно получать синхронно и асинхронно. 05.09.08 22:30  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Асинхронные операции передачи данных не приоритезируются и передаются получателю по мере готовности. Почти нигде не используются, разве что при запросе к слабым серверам с туевой кучей клиентов на медленных каналах.
Уже тоже до такого додумался, но может быть что-то лучше есть? 05.09.08 15:28  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Угу, одна из опций query(и датасетов) называется типа FetchAll - но при этом ты получаешь те же яйца в профиль (по скорости, а по нагрузке на канал - так ещё больше), по крайней мере для Firebird\Interbase-дельфячих компонент 05.09.08 15:35  
Автор: Ustin <Ustin> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
[Win32] Кажись, еще и в асинхроне... 05.09.08 10:01  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Rowcount. 05.09.08 09:04  
Автор: [cb] Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach