Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Проблема возникающая при сравнении int в условии where / 10 сообщений из 10, страница 1 из 1
14.03.2011, 12:58
    #37163501
izekia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема возникающая при сравнении int в условии where
Столкнулся с такой проблемой, и не могу понять как ее обойти, если только не перебором выборки на клиенте.
Суть в том, что в некоторых случаях, в условии:
WHERE field = <int>
отбор не срабатывает, причем это наблюдается только для значений отбора < 100
явное приведение значения отбора к необходимому типу ничего не меняет
ситуация для определенных значений повторяется, то есть стабильна.

В чем может быть проблема?
Заранее благодарен за любую помощь.
...
Рейтинг: 0 / 0
14.03.2011, 18:46
    #37164457
Kolyvpro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема возникающая при сравнении int в условии where
izekia,
как именно не срабатывает?
может быть <int> хранится в базе как строка?
тогда WHERE field = int or field='int'
...
Рейтинг: 0 / 0
14.03.2011, 18:55
    #37164469
izekia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема возникающая при сравнении int в условии where
Kolyvpro,

нет, поле имеет тип int длина 8
на всякий случай проверил) - без изменений
...
Рейтинг: 0 / 0
14.03.2011, 19:34
    #37164510
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема возникающая при сравнении int в условии where
Тест в студию ...
...
Рейтинг: 0 / 0
14.03.2011, 19:49
    #37164523
izekia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема возникающая при сравнении int в условии where
Dmitry ArefievТест в студию ...
поясните какой тест?
тест - это текст запроса или текст с данными?
...
Рейтинг: 0 / 0
14.03.2011, 19:58
    #37164532
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема возникающая при сравнении int в условии where
izekiaDmitry ArefievТест в студию ...
поясните какой тест?
тест - это текст запроса или текст с данными?И то и другое.
Гадать на кофейной гуще занятие конечно веселое, но не особо плодотворное.
Показывай как данные в базу заливаешь, показывай как пытаешься их читать, показывай настройки базы.
...
Рейтинг: 0 / 0
14.03.2011, 20:09
    #37164543
izekia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема возникающая при сравнении int в условии where
White Owl,

этот запрос работает:
Код: plaintext
1.
2.
SELECT        path, movie
FROM            images
WHERE        (movie =  167 )
этот не работает:
Код: plaintext
1.
2.
SELECT        path, movie
FROM            images
WHERE        (movie =  25 )
во вложении файл базы данных, который сформирован программой movienizer
...
Рейтинг: 0 / 0
14.03.2011, 23:33
    #37164709
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема возникающая при сравнении int в условии where
У меня возникает ощущение, что проблема в структуре базы.
Во всяком случае осмысленных объяснений таким странностям я сходу назвать не могу.

Попытка сделать VACUUM; провалилась с руганью Error: no such collation sequence: UnicodeCollation.
Кажется мне надо пересобрать консоль :)
...
Рейтинг: 0 / 0
15.03.2011, 00:11
    #37164748
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема возникающая при сравнении int в условии where
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
$ sqlite3 tes9564.dmo '.s'|grep -i collate
-- Loading resources from /home/veter/.sqliterc
filename VARCHAR COLLATE UnicodeCollation, 
title_sort VARCHAR COLLATE UnicodeCollation, 
name VARCHAR COLLATE UnicodeCollation, 
original_name VARCHAR COLLATE UnicodeCollation, 
birth_name VARCHAR COLLATE UnicodeCollation, 

Смысл - программа, в которой создана БД, забиндила собственный коллэйшен и теперь без этой программы работать с БД нельзя. Что касается ошибки, это результат багов в используемом коллэйшене.

P.S. Да, и вакуум сделать не удастся по причине отсутствия коллэйшена.
...
Рейтинг: 0 / 0
15.03.2011, 00:46
    #37164800
izekia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема возникающая при сравнении int в условии where
MBG, White Owl,
спасибо большое
просто с SQLite я не имел практического опыта работы, и то что на вакуум ругается - мне казалось, что я где-то неправильно что-то делаю
Похоже самый простой способ решить проблему - каждый раз импортировать данные в другую базу в памяти и уже обрабатывать ее
или вытаскивать все сразу в общем запросе и обрабатывать его результат

PS: White Owl, помню года три назад общались на .Net форуме здесь, рад был снова увидеть, давно я здесь не был)
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Проблема возникающая при сравнении int в условии where / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]