Вверх ↑
Этот топик читают: Гость
Ответов: 16504
Рейтинг: 1212
#1336: 2015-01-22 08:17:21 ЛС | профиль | цитата
Gunnman писал(а):
как такой результат в SQlite получить?
SELECT julianday('2015-01-10 00:00:00');
Gunnman писал(а):
почему он их так видит?
Tad писал(а):
SQLite ведёт отсчет от 4714 года до н.э.)

карма: 23
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 648
Рейтинг: 18
#1337: 2015-02-24 17:45:28 ЛС | профиль | цитата
Товарищи, подскажите можно ли в SQLite реализовать следующее:

есть таблица users (id int, name text, phone int)

хочу сделать чтобы при изменении записи в БД создавался дубликат предыдущей записи из таблицы users в таблице users_log..логировать изменения.

например есть запись в таблице users - 1;Иван;892800000, делаем update users set phone=893811111 where id=1, в результате хочу увидеть следующее:

в users:
1;Иван;893811111

в users_log:
1;Иван;892800000

Если еще раз сделать update users set phone=893822222 where id=1, то результат должен быть таким:

в users:
1;Иван;893822222

в users_log:
1;Иван;892800000
1;Иван;892811111

Такое функциями самого Sqlite возможно?



карма: 0

0
Ответов: 16504
Рейтинг: 1212
#1338: 2015-02-24 18:01:19 ЛС | профиль | цитата
code_35188.txt
карма: 23
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_35188.txt [369B] [123]
Ответов: 648
Рейтинг: 18
#1339: 2015-02-24 22:19:46 ЛС | профиль | цитата
Tad, спасибо! начал штудировать взялся за triggers и view...а оказалось что решение моей задачи совсем элементарное.
карма: 0

0
Ответов: 8360
Рейтинг: 776
#1340: 2015-02-24 22:31:50 ЛС | профиль | цитата
Тема: sqlite - с чем его едят
GRIMAN 27 Feb 2007 -- пост №1
GRIMAN 24 Feb 2015 -- пост №~1350, стр. №90
GRIMAN писал(а):
..начал штудировать..
Лучше поздно, чем никогда!
карма: 14

0
Ответов: 648
Рейтинг: 18
#1341: 2015-02-25 00:01:26 ЛС | профиль | цитата
Леонид, Не ну а Чо? (с) Базы данных очень интересная вещь!
карма: 0

0
Ответов: 16504
Рейтинг: 1212
#1342: 2015-02-25 15:36:30 ЛС | профиль | цитата
Gunnman, а так с триггером :
code_35194.txt
карма: 23
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_35194.txt [357B] [89]
Ответов: 648
Рейтинг: 18
#1343: 2015-02-26 01:38:26 ЛС | профиль | цитата
Tad, Спасибо!

Я тоже внес небольшой вклад ) скомпилировал sqlite 3.8.6 с поддержкой sqlcipher, по мимо шифрования, появилось еще пару новых команд - например printf (с версии 3.8.3), устранены всякие баги, полный референс просмотреть можно тут http://www.sqlite.org/changes.html
Потратил 2 дня на разбор полетов с OpenSSL и MinGW, не хочу чтобы труды пропали) закрепите пожалуйста в шапке.
http://forum.hiasm.com/forum_serv.php?q=56&id=3906
Надеюсь кому-нибудь пригодится
карма: 0

0
Ответов: 648
Рейтинг: 18
#1344: 2015-03-02 19:16:08 ЛС | профиль | цитата
Подскажите по такому вопросу:

чтобы открыть в режиме Multithread нужно указать флаг SQLITE_OPEN_NOMUTEX при открытии соединения.

Что нужно поправить в *.pas файлах?

так же подскажите пожалуйста что за файлы .obj используются для sqlite? (нашел их в C:HiAsmElementsdelphicodeSQLiteObj)
карма: 0

0
Ответов: 16504
Рейтинг: 1212
#1345: 2015-03-02 20:46:07 ЛС | профиль | цитата
sqliteobj.png
Если у тебя есть такое (если нет - сделай ), то скомпилированная программа будет работать без dll.

карма: 23
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1sqliteobj.png [16.5KB] [273]
Ответов: 648
Рейтинг: 18
#1346: 2015-03-02 21:01:37 ЛС | профиль | цитата
Tad, ага вот оно для чего! спасибо! нет, я буду dll таскать. Мне бы пока понять как флагипараметры задавать для открытия соединения...в pas файлах не понятно как это сделано
карма: 0

0
Ответов: 16504
Рейтинг: 1212
#1347: 2015-03-02 23:39:12 ЛС | профиль | цитата
Gunnman писал(а):
Мне бы пока понять как флагипараметры задавать для открытия соединения...в pas файлах не понятно как это сделано
Не трогай pas-файлы. Нужно имет dll с этими функциями. А dll Hiasm может только :
sqlite_open.png
sqlite3_open - для UTF-8 и
sqlite3_open16 - для UTF-16
и всё.
карма: 23
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1sqlite_open.png [12.1KB] [202]
Ответов: 648
Рейтинг: 18
#1348: 2015-03-02 23:46:56 ЛС | профиль | цитата
Tad, Я ж выше написал что скомпилировал библиотеку из исходников, там есть нужные функции, но я не знаю как из hiasm их вызвать.

мне нужно в sqlite3_open передать SQLITE_OPEN_NOMUTEX,курю интернет на данную тему...пока безуспешно.
карма: 0

0
Ответов: 16504
Рейтинг: 1212
#1349: 2015-03-03 00:08:06 ЛС | профиль | цитата
Gunnman писал(а):
Я ж выше написал что скомпилировал библиотеку из исходников

Попробуй в procedure doOpen поменять строку
sqlite3_open(PChar(CodePage1ToCodePage2(ReadString(_Data,_data_FileName, _prop_FileName), CP_ACP, CP_UTF8)), id); 
на
sqlite3_open_v2(PChar(CodePage1ToCodePage2(ReadString(_Data,_data_FileName, _prop_FileName), CP_ACP, CP_UTF8)), id, 8);
карма: 23
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 648
Рейтинг: 18
#1350: 2015-03-03 01:07:57 ЛС | профиль | цитата
Tad, вы можете подсказать как нужный флаг передать? Библиотеку новую сделаю из исходников.

http://www.sqlite.org/threadsafe.html сказано что параметр thread_mode можно выбрать либо статично (при компиляции dll) либо программно передав нужный флаг.
тут же сказано что данный флаг SQLITE_OPEN_NOMUTEX передается третьим параметром и в sqlite3_open16_v2 поддерживается!


------------ Дoбавленo в 01.07:
Tad, пробовал,ругается C:\HiAsm\Elements\delphi\code\hiSQLite_DB.pas(36) Error: Undeclared identifier: 'sqlite3_open_v2'

Мне кажется sqlite3api.pas тоже править надо.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)