Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.07.2011, 12:54
Red_Garry Red_Garry вне форума
Начинающий
 
Регистрация: 07.07.2011
Сообщения: 126
Репутация: 10
По умолчанию DBEdit.EditText как изменить программно?

Добрый день!
На форме ввода два компонента DBEdit. В один значения вводятся руками, в другой значения вносятся программно, т.е. свойству DBEdit.EditText присваивается некое значение в результате работы программы. Оба DBEdit-а привязаны к полям базы MS Access (ADOConnection, ADOQuery, DataSource, DBGrid). Вопрос в следующем: DBEdit, в который значения вводятся руками, передаёт значения в базу в закреплённое за ним поле; другой компонент, в котором DBEdit.EditText изменяется программно, значения в базу не передаёт. В чём причина?
Ответить с цитированием
  #2  
Старый 12.07.2011, 14:42
Red_Garry Red_Garry вне форума
Начинающий
 
Регистрация: 07.07.2011
Сообщения: 126
Репутация: 10
По умолчанию

Может кто поймёт мои хотелки высылаю кусок кода
procedure TForm3.BitBtn3Click(Sender: TObject);
begin
DBEdit1.EditText:=Edit1.Text;
DBEdit4.EditText:=MaskEdit1.Text;
DBEdit5.EditText:=MaskEdit2.Text;
close;
end;

Объясню почему такой код. В DBEdit1 вводится короткая целочисленная величина, которую лучше регулировать через UpDown. Но UpDown не привязывается к DBEdit. Поэтому DBEdit1.Visible я сделал false, т.е. невидимым, а на его место я разместил Edit c UpDown. Т.е. технология такая: UpDown-ом я подгоняю необходимое значение в Edit, которое в означенном коде должно по моей хотелке передаваться в DBEdit1, а DBEdit1 его в свою очередь должен отправлять в базу. С DBEdit4 и DBEdit5 такая же петрушка. Туда нужно вводить дату, которую собственно нужно брать из MaskEdit.
Связь с БД через ADOConnection, ADOQuery, DataSource, DBGrid
Ответить с цитированием
  #3  
Старый 12.07.2011, 14:47
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

А если сделать Post?
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #4  
Старый 12.07.2011, 16:06
Red_Garry Red_Garry вне форума
Начинающий
 
Регистрация: 07.07.2011
Сообщения: 126
Репутация: 10
По умолчанию

Adoquery1.Post; и результат прилагаю
Изображения
Тип файла: jpg ris.JPG (32.6 Кбайт, 14 просмотров)
Ответить с цитированием
  #5  
Старый 12.07.2011, 18:00
Аватар для Viajero
Viajero Viajero вне форума
Активный
 
Регистрация: 14.06.2011
Адрес: РБ
Сообщения: 214
Версия Delphi: Delphi 7 FB 2.5
Репутация: 5849
По умолчанию

Насколько я понимаю, свойство EditText меняет текст только на экране,
нужно менять непосредственно в бд компонентах
form2.ADOQuery1.Edit; {Обязательно}
form2.ADOQuery1.Fieldbyname( ...):=Edit1.text или аналогичным способом
.......
form2.ADOQuery1.Post; {Обязательно, иначе ничего не сохранится}
Ответить с цитированием
  #6  
Старый 12.07.2011, 18:15
Red_Garry Red_Garry вне форума
Начинающий
 
Регистрация: 07.07.2011
Сообщения: 126
Репутация: 10
По умолчанию

не компилится код вида
form2.ADOQuery1.Edit;
Form2.ADOQuery1.FieldByName('Номер'):='1';
form2.ADOQuery1.Post;
Вязнет на второй строке. Т.е. я даже единицу не могу загнать в поле Номер. В чём причина?
Ответить с цитированием
  #7  
Старый 12.07.2011, 18:52
Аватар для Viajero
Viajero Viajero вне форума
Активный
 
Регистрация: 14.06.2011
Адрес: РБ
Сообщения: 214
Версия Delphi: Delphi 7 FB 2.5
Репутация: 5849
По умолчанию

У меня тоже такое не компилится.
Советую проверять по справке синтаксис каждой незнакомой ранее функции.

Правильно
Form2.ADOQuery1.FieldByName('Номер').AsString:='1' ;
Ответить с цитированием
  #8  
Старый 13.07.2011, 17:42
Red_Garry Red_Garry вне форума
Начинающий
 
Регистрация: 07.07.2011
Сообщения: 126
Репутация: 10
По умолчанию

спасибо за помощь, всё работает
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:52.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025