Я использую Delphi 2010 с Оболочкой SQLite Тима Андерсона (версия Unicode)
Имею базу данных SQLite3, которая в настоящее время насчитывает около тысячи записей.
Я пытаюсьреализовать функцию, в которой пользователь может пройти по базе данных с помощью кнопок Next / Previous, отредактировать запись, если он пожелает, затем перейти к следующей записи.
Когда я обновляю одну из записей, действует текущая загруженная таблицакак снимок, т. е. таблица показывает старые данные, пока я не перезапущу запрос SQL для перезагрузки таблицы.
Вот код Delphi, который выполняет обновление.
procedure TForm1.btnUpdateClick(Sender: TObject);
var
slDBpath: string;
sldb: TSQLiteDatabase;
sSQL: String;
ts: TStringStream;
begin
slDBpath := ExtractFilepath(application.exename) + 'test.db';
sldb := TSQLiteDatabase.Create(slDBpath);
try
ts := TStringStream.Create(memNotes.Text, TEncoding.UTF8);
try
sldb.BeginTransaction;
sSQL := 'UPDATE testtable SET Name = "' + ebName.Text + '", Number = ' + ebNumber.Text + ' WHERE ID = '+ ebID.text +';';
sldb.execsql(sSQL);
sldb.Commit;
finally
ts.Free;
end;
finally
sldb.Free;
end;
end;
Есть ли способобновить загруженную таблицу?Или мне нужно повторно выполнить исходный запрос и вернуться к текущей используемой записи?