2013-06-19 2 views
2

Я использую C++ Builder с базой данных SQLite. Я подключаюсь к базе данных через DBExpress. Проблема в том, что DBGrid показывает (WIDEMEMO) в каждом поле, а не точные значения, которые имеет база данных.C++ builder с SQLite: представление данных показывает WIDEMEMO в DBGrid

У меня нет этой проблемы с другими базами данных, например Firebird.

Почему это поведение? Я что-то упустил с sqlite и как можно исправить. Вы предлагаете мне использовать SQLite/Firebird или другую встроенную базу данных для небольшого автономного приложения.

Заранее спасибо.

ответ

1

Я знаю, этот вопрос старый, но так как он не имеет никакого ответа, выбранного кину в свои два цента. Недавно я столкнулся с той же проблемой и нашел решение, которое может сработать и для вас.

Эта проблема существует в вашем C++ DataSet и вашем SQLite. Как оказалось, когда у вас есть поле с определенным размером, особенно текстовое поле, это поле будет рассматриваться как widememo или Memo в вашем DBGrid. Итак, что вам нужно сделать, это определить ваше текстовое поле с конкретными числами символов, то есть VARCHAR (10).

Это то, что я сделал, и это работает для меня. Я использую MySQL и Delphi с DBGrid.