Раньше был dbedit в delphi (а в Multiplatform нет)

ёлы-палы, так же нельзя программировать. открой для себя что такое дебаггер в делфи, точки останова, пошаговая трассировка. а методом тыка не имея понятия что делаешь ни чего не сделаешь. даже если здесь в конце концов и найдут ошибку, потом другая будет и по кругу

1 лайк
  object loginbind: TEdit
    Touch.InteractiveGestures = [LongTap, DoubleTap]
    TabOrder = 41
    Position.X = 200.000000000000000000
    Position.Y = 200.000000000000000000
    OnChange = loginbindChange
procedure TForm2.loginbindChange(Sender: TObject);
begin
if (FDQuery1.DataSource.DataSet.Locate('Login',text,[loCaseInsensitive])) then

изменение эдита не выглядит подходящим событием для такого запроса если там всё равно не используется текст из этого эдита…

1 лайк

Куда я только не пытался поиск приделать и сюда тоже:

procedure TForm2.Timer2Timer(Sender: TObject);

begin

 label3.Text:=text;
label4.Text:=comand;
if  (comand.Length<>0) and (text.Length<>0) then
begin
d:=strtoint(comand);
case d of
1000:begin
if (FDQuery1.DataSource.DataSet.Locate('Login',text,[loCaseInsensitive])) then
begin
FDQuery1.Insert;
D:=1002;
LoginNofind:=true;
loginbind.Text:=text;
end
else
begin
loginbind.Text:='';
passwordbind.Text:='';
groupebind.Text:='';
end;

text:='';
comand:='';
end;

1001:begin
label3.Text:=text;
label4.Text:=comand;
passwordbind.Text:=text;
groupebind.Text:='User';
text:='';
comand:='';
end;
1002:
begin
if LoginNofind=true then
 FDQuery1.Post;

end;

end;
end;
end;

Везде выбивает ошибку

не знаю как он работает, но ошибка скорее всего говорит о том, что у FDQuery1 Active не true.

1 лайк

После перестановки обратно вернулась бывшая ошибка
2

Перестановки чего?

1 лайк

поиска
if (FDQuery1.DataSource.DataSet.Locate('Login',text,[loCaseInsensitive])) then

Это же датасет. При чем здесь DataSource.DataSet.Locate?
Просто:

if FDQuery1.Locate('Login',text,[loCaseInsensitive]) then
1 лайк

удалось решить проблему но почему-то теперь в базу данных сохраняются пустые строки
т.е. та проблема указанная в начале темы осталась
Из перемененной, вставляю данные в edit. Однако в таблице они не отображающийся, поэтому с помощью:

FDQuery1.Post;

Удается сохранить только пустую строку. Подскажите пожалуйста как сделать так, чтобы при присвоении перемененной в эдит отображались как при обычном ведении с клавиатуры.

Покажи код, в котором заполняешь данные вставленной записи в таблицу. Похожий на что-то типа такого:

FDQuery1.FieldByName('Login').AsString:=Text;

1 лайк

У меня эдикты связаны с колонкой логин пароль и пр.

Неужели? А что это за TEdit такой, который можно связать с полем датасета?

Это с помощью TLinkControlToField? Не пользовался, увы

1 лайк

Да с помошь TLinkControlToField раньше были dbedit, но здесь их нет из-за этого возникает много трудностей. Спасибо
FDQuery1.FieldByName('Login').AsString:=Text;
Очень помогли.

Благодарю:
Alex P. и Аватар в этой Аватар в следующей Alex P.

Я с большим уважением к вам, скажу одну и вы не обижайтесь пожалуйста. Возьми любую книгу по Delphi - полистайте … и такой вопросы отпадут

Не любую, в старых точно не отпадут потому что эти биндинги только с XE2 появились )

Книга: Библия Delphi (Михаил Фленов) первое издание. Год выпуска: 2004 Я помню что там много примеров на DBEdit и Edit и это книга доступном языке для начинающих

Так у автора не VCL, а FireMonkey, там как раз нет DBEdit, только Live Binding.

нашел

Что именно?))