Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Вниз

Странное поведение Query   Найти похожие ветки 

 
Shirson   (2003-11-19 11:14) [0]

Есть некий запрос, в TADOQuery. При его выполнении возвращается, скажем, 236 записей.
Тот же самый запрос, отработанный в iQueryAnaliser выдаёт 237 записей.
Другие запросы отрабатываются аналогично - TADOQuery возвращает меньше записей, чем нужно.
Проверял записи, не вошедшие в результат работы TADOQuery - ничего особенного, обычные записи.
В чём грабли, просветите, а то работа встала.

Использую связки из TADOConnection-TADOQuery. MDAC 2.7 поставил - результат тот же.


 
Silver Alex   (2003-11-19 11:18) [1]

может разные параметры подставляешь, посмотреть бы на запрос да и вообще подробнее бы все узнать


 
Shirson   (2003-11-19 11:25) [2]

Беру запрос из TADOQuery и копирую в аналайзер. Копи-пастом.
Сам запрос значения не имеет - результаты для разных запросов такие, что TADOQuery даёт меньше записей, чем аналайзер.


 
sniknik   (2003-11-19 11:29) [3]

> При его выполнении возвращается, скажем, 236 записей.
> Тот же самый запрос, отработанный в iQueryAnaliser выдаёт 237 записей.

а если скажем 5 записей, Analiser выдаст 6? (проверить на маленьких значениях)
единственное правдоподобное обьяснение что в голову пришло (не учитывая что чтото с кодом не так), это если используется серверный курсор и количество читается до того как сделано FetchAll, у Query Analiser-а подобных глюков естественно нет.
с маленьким количеством тогда должно сойтись, можно визуально пересчитать да и выкачает все наверняка если в грид влезет без скролинга.


 
Shirson   (2003-11-19 11:47) [4]

Спасибо всем, вопрос, похоже снят.

Проблема оказалась самая что и нинаесть дебильная.
Запрос формируется из формы визуального моделирования, и формируется в TRichEdit. Потом TRichEdit.lines напрямую записываются в TADOQuery.SQL.

Если брать запрос из самого TRichEdit и вставлять в аналайзер - вылазит 237 записей.
Квери даёт 236...

Если, после копирования, записать содержимое TADOQuery.SQL в файл (.savetofile) и потом загрузить в аналайзер... ну вы догадались? Аналайзер выдаст 236 записей.

Всё это .....ство происходило, похоже, из-за того, что у TRichEdit пропертина WordWrap стояла в True.
Поставил False и результаты стали верными.

Поубивал бы....


 
NAlexey   (2003-11-19 11:54) [5]

Рациональнее надо время использовать:
select count(*) from Table
Чудес не бывает.


 
Shirson   (2003-11-19 13:05) [6]

И в чём сакральный смысл данного запроса?


 
NAlexey   (2003-11-19 13:23) [7]

Сакральный смысл этого запроса в том, что можно определить сколько строк возвращает тот или иной запрос.


 
Shirson   (2003-11-19 16:32) [8]

select count(*) from Table
Возвращает одинаковое количество строк в обоих случаях.
Это нетрудно понять, если прочитать мой ответ, _почему_ запрос давал разные результаты.


 
Reflex   (2003-11-19 19:10) [9]

Вообще разницы из за того что есть wordwrap или нет никакой не должно быть, какая разница в каком виде запрос передается на сервер. Что так
select * from TableName
а
что
select * from
<BR>TableName.

Абсолютно никакой!


 
Shirson   (2003-11-21 08:39) [10]

Я тоже так думал :)
Однако факт на лице.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-36654
Marina_S
2003-11-30 19:32
2003.12.12
один обработкик события для разных компонентов


3-36553
Chuha
2003-11-20 22:11
2003.12.12
Файлы+БД


3-36500
Kott
2003-11-23 01:54
2003.12.12
MSAccess


1-36669
TSa
2003-12-02 19:54
2003.12.12
Проход по компонетам


1-36627
pashaz
2003-11-29 08:49
2003.12.12
SMExport





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский