|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Перенос данных из Dbedit БД Paradox7
собственно есть форма с накиданными на нее 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
|
||||
|
||||
И что непонятно из этого сообщения?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#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
|
|||
|
|||
а че же тогда у меня не получается?
|