Dstaryh
-
Постов
4 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Dstaryh
-
-
18 часов назад, brunnengi сказал:
30к записей это не много. Если всё нормально и правильно подключаетесь к базе, то должно работать.
Покажите код как вы к базе конектитесь и запрос к ней делаете.procedure TFMain.FDConnection1BeforeConnect(Sender: TObject); begin {$IF DEFINED(ANDROID)} FDConnection1.Params.Values['Database'] := TPath.Combine(TPath.GetDocumentsPath, 'auto.sqlite'); {$ENDIF} end;
запрос к FDQuery
select * from Automobili
-
Доброго времени суток! Проблема такая: использую Delphi 10 Seattle, в firemonkey пытаюсь смастерить простенькое приложение, работающее в СУБД SQLite, через FireDAC. В desing time база коннектится, все поля в ListView отображаются, в Deployment СУБД добавил, пути прописал, ошибок никаких не выдает, НО, в Run time - на телефоне черный экран и через какое то время, приложение предлагает закрыть его, так как оно не отвечает...
Собственно СУБД конвертирую из Excel в SQLite, вроде база получается нормальная, в SQLite studio открывается, индексы на месте, все в порядке - в runtime не открывается... Делаю сам СУБД в SQLite studio идентичную той, которую конвертировал, но только с 3-4 записями - отлично работает. В чем подвох? Всетаки база коряво конвертируется? как мне 30 тыс записей в таблицу SQLite скопировать, если их не конвертировать? Наверняка есть простой ответ на это.. но я уже голову поломал...
Зависимость от регистра русских символов при использовании LIKE
в SQLite
Опубликовано
Предлагаю простой вариант перевода edit1.text в верхний регистр для последующего поиска по СУБД из введенных данных в edit1, работает хоть с кириллицей, хоть с латиницей! правда через дополнительный memo, свойства которого в инспекторе ставим CharCase = ecUpperCase, Visible = false, и в обработчиках событий OnChangeTracking обоих компонентов пишем процедуры:
procedure TForm1.Edit1ChangeTracking(Sender: TObject);
begin
Memo1.Text:= AnsiUpperCase(edit1.Text);
end;
procedure TForm1.Memo1ChangeTracking(Sender: TObject);
begin
edit1.Text:=memo1.Text;
FDQuery1.Close;
FDQuery1.SQL.Text:='SELECT * FROM <имя таблицы> WHERE <имя поля> like '+QuotedStr('%'+Edit1.Text+'%');
FDQuery1.Open;
end;