Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2010, 08:35   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
Печаль Добавление записи через FIBDataSet

Код такой
Код:
DM.FIBDS.Close;
   DM.FIBDS.SQLs.InsertSQL.Text:='INSERT INTO AGENSTVA (ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА") VALUES(null,:Namb,:Adr)';
   DM.FIBDS.ParamByName('Namb').Value:=2;
   DM.FIBDS.ParamByName('Adr').Value:=AddresAgenstva.Text;
   DM.FIBDS.Open;
Ругается на параметр Namb
Lokos вне форума Ответить с цитированием
Старый 04.05.2010, 08:44   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А какого типа поле Namb?

И зачем Вы используете здесь кавычки?
Код:
(ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА")
Цитата:
Ругается на параметр Namb
А что именно пишет?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 04.05.2010 в 08:47.
artemavd вне форума Ответить с цитированием
Старый 04.05.2010, 08:46   #3
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
А какого типа поле Namb?

И зачем Вы используете здесь кавычки?
Код:
(ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА")
кавычки потому что русские имена полей)) NAmb целочисленое(integer)
Lokos вне форума Ответить с цитированием
Старый 04.05.2010, 08:49   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А если так:
Код:
   DM.FIBDS.Close;
   DM.FIBDS.SQLs.InsertSQL.Text:='INSERT INTO AGENSTVA (ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА") VALUES(null,:Namb,:Adr)';
   DM.FIBDS.ParamByName('Namb').Value:=IntToStr(Edit2.Text);
   DM.FIBDS.ParamByName('Adr').Value:=AddresAgenstva.Text;
   DM.FIBDS.Open;
где Edit2.Text - поле в которое ввоодится число.

Так че говорит?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 04.05.2010, 08:54   #5
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
А если так:
Код:
   DM.FIBDS.Close;
   DM.FIBDS.SQLs.InsertSQL.Text:='INSERT INTO AGENSTVA (ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА") VALUES(null,:Namb,:Adr)';
   DM.FIBDS.ParamByName('Namb').Value:=IntToStr(Edit2.Text);
   DM.FIBDS.ParamByName('Adr').Value:=AddresAgenstva.Text;
   DM.FIBDS.Open;
где Edit2.Text - поле в которое ввоодится число.

Так че говорит?
Так тоже пробовал пишет тоже
Если дословно то так Parameter "Namb" does not exist
Lokos вне форума Ответить с цитированием
Старый 04.05.2010, 09:00   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Parameter "Namb" does not exist
В слове Namb, буква "а" не русская случайно? А в самой БД названия полей тоже по русски? Кстати, не используйте пробел в названии полей, лучше пробел замените на "_".

А так вставляется запись?
Код:
   DM.FIBDS.Close;
   DM.FIBDS.SQLs.InsertSQL.Text:='INSERT INTO AGENSTVA (ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА") VALUES(null,'2','Ленина, 100')';
//   DM.FIBDS.ParamByName('Namb').Value:=IntToStr(Edit2.Text);
//   DM.FIBDS.ParamByName('Adr').Value:=AddresAgenstva.Text;
   DM.FIBDS.Open;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 04.05.2010, 09:22   #7
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
В слове Namb, буква "а" не русская случайно? А в самой БД названия полей тоже по русски? Кстати, не используйте пробел в названии полей, лучше пробел замените на "_".

А так вставляется запись?
Код:
   DM.FIBDS.Close;
   DM.FIBDS.SQLs.InsertSQL.Text:='INSERT INTO AGENSTVA (ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА") VALUES(null,'2','Ленина, 100')';
//   DM.FIBDS.ParamByName('Namb').Value:=IntToStr(Edit2.Text);
//   DM.FIBDS.ParamByName('Adr').Value:=AddresAgenstva.Text;
   DM.FIBDS.Open;
модифицировал код следующим образом
Код:
 DM.FIBDS.Close;
   DM.FIBDS.SQLs.InsertSQL.Text:='INSERT INTO AGENSTVA (ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА") VALUES(null,2,'+chr(39)+AddresAgenstva.Text+chr(39)+')';
   DM.FIBDS.Open;
   DM.FIBDS.Transaction.Commit;
ошибок не выдает но и данные не сохраняет((( ладно сделаю тогда через fibquery
Lokos вне форума Ответить с цитированием
Старый 04.05.2010, 09:31   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Лучше так:
Код:
   DM.FIBDS.Close;
   DM.FIBDS.SQLs.InsertSQL.Text:='INSERT INTO AGENSTVA (ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА") VALUES(null,2,'QuotedStr(AddresAgenstva.Text))';
   DM.FIBDS.Open;
   DM.FIBDS.Transaction.Commit;
Поставьте еще свойство AutoCommit=True.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 04.05.2010, 09:31   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Лучше так:
Код:
   DM.FIBDS.Close;
   DM.FIBDS.SQLs.InsertSQL.Text:='INSERT INTO AGENSTVA (ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА") VALUES(null,2,'QuotedStr(AddresAgenstva.Text))';
   DM.FIBDS.Open;
   DM.FIBDS.Transaction.Commit;
Поставьте еще свойство AutoCommit=True.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 04.05.2010, 09:32   #10
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Лучше так:
Код:
   DM.FIBDS.Close;
   DM.FIBDS.SQLs.InsertSQL.Text:='INSERT INTO AGENSTVA (ID,"№ АГЕНСТВА","АДРЕС АГЕНСТВА") VALUES(null,2,'QuotedStr(AddresAgenstva.Text))';
   DM.FIBDS.Open;
   DM.FIBDS.Transaction.Commit;
Поставьте еще свойство AutoCommit=True.
поставил бестолку а что за QuotedStr?
Lokos вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление записи через TQuery [ошибка] DimOn4Ik БД в Delphi 10 10.04.2010 20:36
Добавление записи в бд Lokos БД в Delphi 8 15.12.2009 16:36
Добавление записи gitzzz Microsoft Office Access 2 23.06.2009 19:30
Добавление записи через список в связанную таблицу(при связи с Access) megaten БД в Delphi 5 17.05.2009 15:57
Добавление записи.... Droid БД в Delphi 2 04.06.2008 15:50