![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
собственно есть форма с накиданными на нее dbedit, database, table1, datasourse, dbgrid1 и кнопка button. Вроде все связано. таблицы созданы. хотелось бы что бы при нажатии кнопки данные переносились в таблицу и отображались в dbgrid1. но вот незадача при нажатии кнопки выдает ошибку как на картинке. дополнительно поставил dbnavigator, с его помощью все работает.
вот код на кнопку. Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.DBGrid1.DataSource.DataSet.Append;
Form2.DBGrid1.DataSource.DataSet.FieldByName('Shortname').AsString:=DBEdit1.Text;
Form2.DBGrid1.DataSource.DataSet.FieldByName('Longname').AsString:=DBEdit2.Text;
Form2.DBGrid1.DataSource.DataSet.FieldByName('Izmer').AsString:=DBEdit3.Text;
Form2.DBGrid1.DataSource.DataSet.FieldByName('Price').AsString:=DBEdit4.Text;
Form2.DBGrid1.DataSource.DataSet.FieldByName('Manufacture').AsString:=DBEdit5.Text;
Form2.DBGrid1.DataSource.DataSet.FieldByName('GOST').AsString:=DBEdit6.Text;
Form2.DBGrid1.DataSource.DataSet.Post;
end; |
|
#2
|
||||
|
||||
|
Попробуй сделать так:
Код:
...
Form2.DBGrid1.DataSource.DataSet.FieldByName('Shortname').Value:=DBEdit1.Text;
... |
|
#3
|
|||
|
|||
|
теперь вот такая ошибка. но остановилась прога на строке
Код:
Form2.DBGrid1.DataSource.DataSet.FieldByName('Manufacture').Value:=DBEdit5.Text; |
|
#4
|
||||
|
||||
|
И что непонятно из этого сообщения?
|
|
#5
|
|||
|
|||
|
смысл сообщения понятен, а вот чо делать дальше ...
![]() |
|
#6
|
||||
|
||||
|
Код:
try
Form2.DBGrid1.DataSource.DataSet.FieldByName('Manufacture').Value:=StrToFloat(DBEdit5.Text);
except
showmessage('Возможно, поле содержит данные не вещественного типа');
end;Последний раз редактировалось Mrak, 09.10.2013 в 14:05. |
|
#7
|
|||
|
|||
|
наверное я уже достал своими вопросами, но после того как я заменил строку
Код:
Form2.DBGrid1.DataSource.DataSet.FieldByName('Manufacture').Value:=DBEdit5.Text;на строку написанную вами Код:
Form2.DBGrid1.DataSource.DataSet.FieldByName('Manufacture').Value:=StrToFloatF(DBEdit5.Text, ffFixed, 6, 2);при компиляции выдает ошибку [Error] Unit2.pas(62): Undeclared identifier: 'StrToFloatF' |
|
#8
|
||||
|
||||
|
извините, перепутал с обратной операцией)
просто strtofloat без параметров |
|
#9
|
|||
|
|||
|
заменил и опять ошибка как в 3-ем моем посте.
кстати я просто делаю изменения в строке, а не вставляю код который вы мне писали в посте 6 |
|
#10
|
||||
|
||||
|
а зачем из DBEdit руками заносить данные в поля?
|
|
#11
|
|||
|
|||
|
а есть другие варианты?
|
|
#12
|
||||
|
||||
|
так ведь данные сами из TDBEdit в набор данных засылаются. собственно этим и отличается TDBEdit от TEdit.
|
|
#13
|
|||
|
|||
|
вот просвятил человек, то то думаю , ввел данные в едит а он сразу гриде оказался. т.е. если все таки мне нужен вариант ввода ручками, то можно пробовать просто edit использовать
|
|
#14
|
||||
|
||||
|
не обязательно. можно и с DBEdit вызывать Post для фиксации изменений или Cancel для отмены изменений в Dataset.
|
|
#15
|
|||
|
|||
|
а че же тогда у меня не получается?
|