Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 19.04.2010, 17:55   #1
folga
Новичок
Джуниор
 
Регистрация: 19.04.2010
Сообщений: 1
Восклицание Добавление записи в таблицу

Всем здравствуйте!
Начал работать с базой данных FireBird через Delphi, возникла следующая ошибка: для добавления записи использую следующий код:
Код:
procedure TForm6.Button1Click(Sender: TObject);
begin
with IBDataSet2 do begin
Insert;
FieldByName('Tab_no').AsInteger := strtoint(Edit1.Text);
FieldByName('Fam').AsString := Edit2.Text;
FieldByName('Name').AsString := Edit3.Text;
FieldByName('Otch').AsString := Edit4.Text;
FieldByName('pol').AsString := Edit5.Text;
FieldByName('city').AsString := Edit6.Text;
FieldByName('street').AsString := Edit7.Text;
FieldByName('dom').AsInteger := strtoint(Edit8.Text);
FieldByName('kvartira').AsInteger := strtoint(Edit9.Text);
FieldByName('phone').AsString := Edit10.Text;
FieldByName('dr').AsDateTime := strtodate(Edit11.Text);
FieldByName('data_priema').AsDateTime := strtodate(Edit12.Text);
FieldByName('kategoria').AsInteger := strtoint(Edit13.Text);
post;
end;
когда доходит до последней строчки - зависает. Не подскажете, где ошибка?

Последний раз редактировалось Stilet; 21.04.2010 в 08:13.
folga вне форума Ответить с цитированием
Старый 19.04.2010, 18:11   #2
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

ну для начала открой любой учебник по SQL и познакомся с простыми и самыми необходимыми функциями Select, Inset Into, Delete, Update... ну а дальше любую книгу по БД и у тебя много вопросов сами по себе отпадут...
dron-s вне форума Ответить с цитированием
Старый 20.04.2010, 17:59   #3
eldavad
 
Аватар для eldavad
 
Регистрация: 20.04.2010
Сообщений: 6
По умолчанию

Пользуйся не edit, а dbedit(на вкладке datacontrols).
Бросаешь dbedit на форму, соединяешь с таблицей и с необходимым полем
insert - cоздать пустую строку
post - применить изменения
eldavad вне форума Ответить с цитированием
Старый 21.04.2010, 06:00   #4
artemavd
Модератор
Заслуженный модератор
 
Регистрация: 05.06.2008
Сообщений: 4,180
По умолчанию

Цитата:
когда доходит до последней строчки - зависает.
Что значит "зависает"?
А я бы через параметризированный запрос бы вставил записи вот так:
Код:
procedure TForm6.Button1Click(Sender: TObject);
begin
 IBDataSet2.SQLs.InsertSQL:='INSERT INTO <table_name> VALUES(:T,:F,:N,:O,:P,:C,:S,:D,:KV,:PH,:DR,:DP,:KA)';
 IBDataSet2.ParamByName('T').Value:=strtoint(Edit1.Text);
 IBDataSet2.ParamByName('F').Value:=Edit2.Text;
 IBDataSet2.ParamByName('N').Value:=Edit3.Text;
 IBDataSet2.ParamByName('O').Value:=Edit4.Text;
 IBDataSet2.ParamByName('P').Value:=Edit5.Text;
 IBDataSet2.ParamByName('C').Value:=Edit6.Text;
 IBDataSet2.ParamByName('S').Value:=Edit7.Text;
 IBDataSet2.ParamByName('D').Value:=strtoint(Edit8.Text);
 IBDataSet2.ParamByName('KV').Value:=strtoint(Edit9.Text);
 IBDataSet2.ParamByName('PH').Value:=Edit10.Text;
 IBDataSet2.ParamByName('DR').Value:=strtodate(Edit11.Text);
 IBDataSet2.ParamByName('DP').Value:=strtodate(Edit12.Text);
 IBDataSet2.ParamByName('KA').Value:=strtoint(Edit13.Text);
end;
P.S. За синтаксис написанного не ручаюсь, т.к. писал на работе и нет возможности проверить в Delphi код.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 21.04.2010, 08:15   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
Что значит "зависает"?
Видимо Post виснет
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADO.NET: VS 2005 C# + Sql server express: добавление записи в таблицу kostyan23 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 1 02.03.2010 15:04
добавление записей в таблицу MDmitry PHP 3 27.12.2009 12:08
Добавление записи в таблицу (ADO) Yura_S БД в Delphi 12 25.11.2009 20:11
Добавление данных в таблицу. Hobbit_88 БД в Delphi 11 06.06.2009 13:52
Добавление записи через список в связанную таблицу(при связи с Access) megaten БД в Delphi 5 17.05.2009 15:57


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS