procedure SetLoc(pref:PChar); stdcall;
begin
query('update localization set active = 0 where active = 1');
query('update localization set active = 1 where pref = ' + pref);
end;
Две. Правильно. Во-первых query не выполняет запрос пока не скажешь sqlite3_step, т.е. надо было использовать exec. А во-вторых, параметр pref в кавычки надо заключать - строка всё-таки
Вот как у меня теперь:
procedure SetLoc(pref:PChar); stdcall;
begin
exec('update localization set active = 0 where active = 1');
exec('update localization set active = 1 where pref = ''' + pref + '''');
end;
[size=-2]------ Добавлено в 19:00
Это не считая того, что если переключить на английский, HiAsm обламывается на этапе запуска, потому-что английских текстов нехватает.