Форум: "Начинающим";
Текущий архив: 2014.02.09;
Скачать: [xml.tar.bz2];
Внизработа с sqlite в xe3 Найти похожие ветки
← →
dmitry87 (2013-04-01 12:19) [0]Создал таблицу:
CREATE TABLE "testtable" (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, name TEXT);
Добавляю 100 записей:
procedure TForm11.Button1Click(Sender: TObject);
var
I: Int32;
T: Cardinal;
Transaction: TDBXSqliteTransaction;
begin
T := GetTickCount;
Transaction := SQLConnection1.BeginTransaction as TDBXSqliteTransaction;
for I := 1 to 100 do
SQLConnection1.Execute("INSERT INTO testtable (name) VALUES ("test")", nil);
SQLConnection1.CommitFreeAndNil(TDBXTransaction(Transaction)); // <- Invalid transaction object
ShowMessageFmt("%d sec.", [Round((GetTickCount - T) / 1024)]);
end;
получаю ошибку - "Invalid transaction object". Что не так? За пример взял статью: http://www.webdelphi.ru/2012/10/sqlite-v-delphi-xe3
← →
O'ShinW © (2013-04-01 14:35) [1]не знаю, просто уточняю
а нельзя не юзать Transaction: TDBXSqliteTransaction;
и написать не
> SQLConnection1.CommitFreeAndNil(TDBXTransaction(Transaction));
> // <- Invalid transaction object
а что -то вроде
SQLConnection1.EndTransaction;
SQLConnection1.Commit;
?
← →
KilkennyCat © (2013-04-02 02:15) [2]а вот сточки зрения логики и производительности вообще, не лучше сформировать в цикле только запрос, а екзекуцию выполнить один раз? любопытно, а то я плохо скьюл знаю.
← →
O'ShinW © (2013-04-02 10:44) [3]а я его - sqlite - пропустил, как неправильный сервер.
Либо сервер, либо файл. А этот микс какой то. Зачем вообще нужен..
Сервер - есть нормальный, есть express, если бесплатный (очень неплохи последние).
Файл - access или что иное, даже тупо dbf -
и ничего ставить не надо, и куча готовых решений уже есть.
Для чего нужен sqlite - загадка. Пойду в МС напишу о своей т.з., они поди ждут :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.02.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c