ёлы-палы, так же нельзя программировать. открой для себя что такое дебаггер в делфи, точки останова, пошаговая трассировка. а методом тыка не имея понятия что делаешь ни чего не сделаешь. даже если здесь в конце концов и найдут ошибку, потом другая будет и по кругу
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
изменение эдита не выглядит подходящим событием для такого запроса если там всё равно не используется текст из этого эдита…
Куда я только не пытался поиск приделать и сюда тоже:
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.
После перестановки обратно вернулась бывшая ошибка
Перестановки чего?
Перестановки чего?
поиска
if (FDQuery1.DataSource.DataSet.Locate('Login',text,[loCaseInsensitive])) then
FDQuery1
Это же датасет. При чем здесь DataSource.DataSet.Locate?
Просто:
if FDQuery1.Locate('Login',text,[loCaseInsensitive]) then
удалось решить проблему но почему-то теперь в базу данных сохраняются пустые строки
т.е. та проблема указанная в начале темы осталась
Из перемененной, вставляю данные в edit. Однако в таблице они не отображающийся, поэтому с помощью:
FDQuery1.Post;
Удается сохранить только пустую строку. Подскажите пожалуйста как сделать так, чтобы при присвоении перемененной в эдит отображались как при обычном ведении с клавиатуры.
Покажи код, в котором заполняешь данные вставленной записи в таблицу. Похожий на что-то типа такого:
FDQuery1.FieldByName('Login').AsString:=Text;
У меня эдикты связаны с колонкой логин пароль и пр.
У меня эдикты связаны с колонкой логин пароль и пр
Неужели? А что это за TEdit такой, который можно связать с полем датасета?
Это с помощью TLinkControlToField? Не пользовался, увы
FDQuery1.FieldByName(‘Login’).AsString:=Text;
Да с помошь TLinkControlToField раньше были dbedit, но здесь их нет из-за этого возникает много трудностей. Спасибо
FDQuery1.FieldByName('Login').AsString:=Text;
Очень помогли.
но когда привязываю визуально его к проеденным данным,
Я с большим уважением к вам, скажу одну и вы не обижайтесь пожалуйста. Возьми любую книгу по Delphi - полистайте … и такой вопросы отпадут
любую книгу по Delphi
Не любую, в старых точно не отпадут потому что эти биндинги только с XE2 появились )
Не любую, в старых точно не отпадут потому что
Книга: Библия Delphi (Михаил Фленов) первое издание. Год выпуска: 2004 Я помню что там много примеров на DBEdit и Edit и это книга доступном языке для начинающих
Так у автора не VCL, а FireMonkey, там как раз нет DBEdit, только Live Binding.
нашел
Что именно?))