Извиняюсь, ошибся темой, в начале думал, что данный функционал присутствует и в SQLite. В большей мере помощь была нужна именно в составлении логики запроса (точно не знаю, как это правильно назвать), ибо получение названия месяца гуглится несколько секунд
Этот топик читают: Гость
Ответов: 1821
Рейтинг: 168
|
|||
карма: 5 |
|
Ответов: 952
Рейтинг: 4
|
|||
Нашел странное явление. По каким-то причинам при запущенном эмуляторе Nox - вылетает с рунтаймом часть прог для БД SQLite. Стоит закрыть эмулятор - всё работает.
На Ноксе запущен андроид. |
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Ковырял компоненты SQLite. Если в функции sqlite3_exec() указывается 5-ый параметр, то он должен быть освобождён по sqlite3_free():
https://sqlite.org/c3ref/exec.html писал(а): If the 5th parameter to sqlite3_exec() is not NULL then any error message is written into memory obtained from sqlite3_malloc() and passed back through the 5th parameter. To avoid memory leaks, the application should invoke sqlite3_free() on error message strings returned through the 5th parameter of sqlite3_exec() after the error message string is no longer needed.Надо поправить в файлах: hiSQLite_QueryScalar.pas
hiSQLite_Query.pas hiSQLite_Exec.pas hiDS_SQLite.pas Сделал модификацию этих компонентов - добавил свойство Charset[ANSI, UTF-8], чтобы можно было без лишних телодвижений пользоваться кодировкой UTF-8. Также: 1) Причесал код, выбросил лишнее 2) hiCharset.pas - Причёсана функция CodePage1ToCodePage2 - Добавлены функции StringToUTF8, UTF8ToString для удобочитаемости 3) SqLite3Api.pas - Косметические изменения - Добавлены несколько объявлений пока не используемых функций - Объявлен тип PCharPointers/TCharPointers для использования в TExecCallBack (раньше похожее было объявлено в каждом компоненте) 4) Из стандартного примера "SQLLite_Demo.sha" выброшены сохранение/загрузка положения окна и имени файла из реестра SQLite components mod 2018-04-04.zip Редактировалось 2 раз(а), последний 2018-04-04 13:09:28 |
|||
карма: 26 |
|
Ответов: 952
Рейтинг: 4
|
|||
А есть пример в котором БД позволяет сохранять в неё изображения?
Или это намного усложнит и замедлит работу с БД? Изображения - сканы ч\б. |
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
user_asm писал(а): А есть пример в котором БД позволяет сохранять в неё изображения? Вот тут что-то когда-то мутили -- http://forum.hiasm.com/topic/55254/0#p173093 И вот тут еще по этой теме что-то есть -- http://forum.hiasm.com/post/60521 Редактировалось 1 раз(а), последний 2018-02-08 13:46:58 |
|||
карма: 22 |
|
Ответов: 952
Рейтинг: 4
|
|||
Блин, там без поллитра не разгребешь...
Может хранить в БД только ссылки на изображения, а сами сканы валить в одну папку где-нибудь на сервере в локалке... |
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
user_asm писал(а): Блин, там без поллитра не разгребешь... Да там ничего шибко сложного-то и нет. Блин, потерял классную схему по записи/чтению картинок в/из базы, никак найти не могу. |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
user_asm писал(а): Может хранить в БД только ссылки на изображения, а сами сканы валить в одну папку где-нибудь на сервере в локалке... |
|||
карма: 25 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Во, нашел пример записи и чтения картинки в blob поля. Быстродействие, конечно, не ахти, но для мелких картинок пойдет
|
|||
карма: 22 |
| ||
файлы: 1 | Example_SQLite_BlobToImg_&_ImgToBlob.zip [5.4KB] [718] |
Ответов: 952
Рейтинг: 4
|
|||
Ага, значит картинка 8Кб сразу увеличивает БД до 10Кб. Ну что ж, закономерно. Видимо таки хранить ссылки будет оптимальнее, ибо заказов у меня 500-1000 в год.
Но тут другой вопрос, для облегчения поиска лучше завести доп. файл БД или сделать отдельную таблицу? Почему собственно возник вопрос. В некоторых случаях критически важно слова и сочетания которые указаны в письме заказчика. Именно поэтому собираюсь внедрить некую систему хранения сканов заказа. Локалка и сервер с постоянным бэкапом в наличии. В данный момент я вношу все сведения о заказе в БД - исх.№, дата, вх.№, объект и т.д. А вот при возникновении вопросов - приходится лохматить бумагув папке Заказы. Что не совсем удобно. П.С. Спасибо nesco за схему. Клик по Read ничего не дает. Что-то видимо не так. Редактировалось 3 раз(а), последний 2018-02-11 23:49:37 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
user_asm писал(а): Клик по Read ничего не дает. Что-то видимо не так. Да ну Редактировалось 1 раз(а), последний 2018-02-12 00:39:40 |
|||
карма: 25 |
|
Ответов: 952
Рейтинг: 4
|
|||
Возникла странная проблема с выгрузкой выборки в CSV. Почему то в полученном файле значение поля из БД разбивается на несколько эксель ячеек. Соответственно открывая файл Экселем я наблюдаю разбросанные данные.
Вот содержание поля БД которое разбрасывает при экспорте: / 2017-12-19 Договор возвращен / / 2018-01-12 Приостановлено / / 2018-01-29 предос документ / / 2018-01-04 Сдано / / 2018-02-02 Отказ / Это поле создается в элементе РичЭдит. Что не так? Как адекватно экспортировать? П.С. Сторонним софтом, типа sqliteadmin экспорт идет корректно. Редактировалось 1 раз(а), последний 2018-03-07 09:59:46 |
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Ну, так посмотри структуру получаемого файла CSV. Поля должны быть разделены разделителем (например, ","), а если в значении поля встречается разделитель, то поле должно быть обрамлено символами " (или другими, если предусмотрено). Чтобы не заморачиваться можно обрамлять все поля. Если в значении поля встречается символ обрамления - он должен быть удвоен.
|
|||
карма: 26 |
|
Ответов: 952
Рейтинг: 4
|
|||
Нет в содержании ; ни до ни после ни внутри.
Именно этот знак установлен как разделитель. Именно поэтому и спрашиваю, может еще какие-то причины. Символы слэша похоже каким-то образом нарушают структуру получаемого файла. Беда... Редактировалось 1 раз(а), последний 2018-03-08 08:54:13 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
user_asm писал(а): Нет в содержании ; ни до ни после ни внутри.Без обид : По умению шифровать вопросы ты бесспорно чемпион! справка по RichEdit писал(а): ЗамечанияВ компоненте замечена проблемма с кирилическими символами при работе с компонентом как с массивом данных. Может здесь собака зарыта. user_asm писал(а): создается в элементе РичЭдит.Что получить csv-файл прямым запросом к БД, как это делает sqliteadmin, никак? Редактировалось 2 раз(а), последний 2018-03-08 10:01:31 |
|||
карма: 25 |
|