powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / C++ Builder 2009 и Sqlite , русский язык и навигатор.
6 сообщений из 6, страница 1 из 1
C++ Builder 2009 и Sqlite , русский язык и навигатор.
    #36943599
Stohan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в следующем, создаю базу через SaveDialog, в обработчике прописал следующее:
,,,,,
"CREATE TABLE tbl1 (N INTEGER PRIMARY KEY AUTOINCREMENT, time CHAR(20), cause CHAR(20), startvalue INT, endvalue INT);",
"VACUUM;"
,,,,,
if (sqlite3_open(WayFile, &db))
,,,,,,
WayFile, полный путь до файла взятый из SaveDialog и переведенный в чар. Проблема номер раз, при создании файла то sqlite3_open выдает при создании "Вопросы в ромбах" в названии файла базы, и в дальнейшем эту базу не представляется возможным подключить через ODBC-> ADO.

Проблема №2, при создании англо-язычной таблицы и подключении через ODBC-> ADO, на форме присутствует Navigator, при нажатии на кнопку обновления таблицы выдается следующая ошибка:
Project1.exe raised exception class EOleException with message 'Источник данных изменил или удалил значение ключа для данной строки в хранилище данных. Теперь удалена и локальная строка', затем происходит удаление добаленных строк. ну и продолжают вылезать за ней следующие ошибки, при этом открывая таблицу через Sqliteadmin, то записи добавленные но не обновленные на месте. Также не работает кнопка удаления записи. С аналогичной ошибкой происходит вылет.
Будьте добры, выскажите свое мнение, устал биться.

П.С: подскажите, как при открытии базы вытащить название талиц?
...
Рейтинг: 0 / 0
C++ Builder 2009 и Sqlite , русский язык и навигатор.
    #36943654
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stohan
WayFile, полный путь до файла взятый из SaveDialog и переведенный в чар.А не надо переводить в "чар". Надо переводить в UTF8.

StohanПроблема №2, при создании англо-язычной таблицы и подключении через ODBC-> ADO, на форме присутствует Navigator, при нажатии на кнопку обновления таблицы выдается следующая ошибка:Кривой Navigator? Используй что-нибудь другое.

StohanП.С: подскажите, как при открытии базы вытащить название талиц?Читать из sqlite_master
...
Рейтинг: 0 / 0
C++ Builder 2009 и Sqlite , русский язык и навигатор.
    #36943935
Stohan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl
WayFile, полный путь до файла взятый из SaveDialog и переведенный в чар.А не надо переводить в "чар". Надо переводить в UTF8.
Так если не в чаре, он ошибку пишет. Что мол нужен тут чар, причем через указатель.

White Owl
Кривой Navigator? Используй что-нибудь другое.
Спасибо, наверное через свои кнопки сделаю.

White Owl
Читать из sqlite_master
Спасибо буду разбираться.
...
Рейтинг: 0 / 0
C++ Builder 2009 и Sqlite , русский язык и навигатор.
    #36943993
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какие таблицы есть в БД можно узнать так :

Код: plaintext
1.
2.
.tables ?TABLE?        List names of tables
                         If TABLE specified, only list tables matching
                         LIKE pattern TABLE.
самый левый символ в строке это ТОЧКА
ваще с точки начинаются много команд.
Код: plaintext
1.
2.
3.
4.
5.
6.
.help
.backup ?DB? FILE      Backup DB (default "main") to FILE
.bail ON|OFF           Stop after hitting an error.  Default OFF
.databases             List names and files of attached databases
.dump ?TABLE? ...      Dump the database in an SQL text format
                         If TABLE specified, only dump tables matching
                         LIKE pattern TABLE.
и так далее...
...
Рейтинг: 0 / 0
C++ Builder 2009 и Sqlite , русский язык и навигатор.
    #36945628
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StohanWhite Owl
WayFile, полный путь до файла взятый из SaveDialog и переведенный в чар.А не надо переводить в "чар". Надо переводить в UTF8.
Так если не в чаре, он ошибку пишет. Что мол нужен тут чар, причем через указатель. угу... все намного хуже чем я думал.
1) Не ленись переключаться на латиницу. Слово "чар" корежит. И вообще, поменьше жаргона.

2) Да, функция sqlite3_open() принимает указатель на char в качестве имени файла с базой. Но указатель на char это всего-лишь указатель на кусок памяти в которой записаны какие-то байтики. Вопрос: какие именно?
SaveDialog тебе тоже возвращает указатель на кусок памяти в которой записаны какие-то байтики. Вопрос: какие именно?
Документация на sqlite3_open() объясняет что эта функция ждет указатель на кусок памяти в котором записана строка с именем файла зашифрованая по стандарту UTF-8.
SaveDialog возвращает тебе строку с именем файла зашифрованую по стандарту... какому именно?
Когда сможешь ответить на все эти вопросы - сможешь открыть базу названную кириллицей.
...
Рейтинг: 0 / 0
C++ Builder 2009 и Sqlite , русский язык и навигатор.
    #36945896
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS: Есть sqlite3_open16 (и много еще других xxxx16 функций) которая работает с UTF16.
Хотя C++ Builder 2009 это UCS2, но в случае с русским UTF16=UCS2.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / C++ Builder 2009 и Sqlite , русский язык и навигатор.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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