Forum > Russian

Проблема с Sqlite и SQLQuery по текстовому столбцу

(1/1)

ligor:
Добрый день.
Столкнулся с проблемой с базой Sqlite. Вот тестовый пример. Создаем тестовую базу с двумя одинаковыми таблицами со строковым столбцом key


--- Quote ---CREATE TABLE [test] (
   [key] string NOT NULL
)
CREATE TABLE [test2] (
   [key] string NOT NULL
)
--- End quote ---

В первую таблицу вставляем данные, где первым будет число


--- Quote ---INSERT INTO [test] ([key]) VALUES
  ('1'),
  ('5test'),
  ('3'),
  ('test');
--- End quote ---
 
А во вторую первой записью будет строка


--- Quote ---  INSERT INTO [test2] ([key]) VALUES
  ('t1'),
  ('5test'),
  ('3'),
  ('test');
--- End quote ---
 
Пишем простую программу для чтения из двух таблиц и видим, что в первой таблице столбец интерпретируется как числовой, а во второй как строка, что и ожидалось.
Почему такое поведение? Проход по while not SQLQuery1.EOF do дает такой же результат. Но вот запрос по отдельной записи с ограничением WHERE выдаст полную строку 5test а не 5.
Это глюк или я чего-то не понимаю?

В архиве https://yadi.sk/d/8UlBusGyZ0LSNg проект с х64 sqlite3.dll без экзешника

Navigation

[0] Message Index

Go to full version