Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запись данных в БД 
V
    Опции темы
Dmi3ev
Дата 30.5.2008, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



этот код работает 100 процентов, только что компилировал:
Код

Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("INSERT INTO Table2 (F1, F2, F3)  VALUES ( "+Edit1->Text+", '"+Edit2->Text+"', '"+Edit3->Text+"')");
Query1->ExecSQL();

поля
F1-N
F2-A-50
F3-D
вводи число, например 1 в эдит1, строку в эдит2, а дату в формате дд.мм.гггг в эдит3!!!
точно работает)))


--------------------

PM MAIL   Вверх
Zigmyndshtein
Дата 31.5.2008, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Dmi3ev
я попробовал этот код в отдельном проекте, он действительно работает, а в моём проекте не хочет,
вываливается сообщение об ошибке:

Prolect Project2.exe raised exception class EDBEngineError with message 'Fild value required.'. Process stopped. Use Step or Run to continue

может ли вываливаться ошибка если запрос на запись данных в БД производится на второй форме, а на перво форме используется таже БД и таже таблица для просмотра
PM MAIL   Вверх
Dmi3ev
Дата 31.5.2008, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



Цитата

может ли вываливаться ошибка если запрос на запись данных в БД производится на второй форме, а на перво форме используется таже БД и таже таблица для просмотра

может, но тогда должно появляться сообщение о том, что таблица занята (хотя у парадокса бываю загоны, проверь),  а здесь мы видим, что ошибка в том, что значение поля обязательно!!! надо просто внимательно посмотреть:
1. сколько значений ты вставляешь и сколько полей (равно ли это число)
2. убрать свойство required у полей
3. типы полей и того, что ты вставляешь
если ничего не получится, выкладывай проект, просто так будет проще и быстрее, кто-нибудь да поможет, а представлять как у Вас там и чего гораздо труднее)))


--------------------

PM MAIL   Вверх
Zigmyndshtein
Дата 31.5.2008, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Dmi3ev
нашел в чем была проблемма. я добавлял всего одну запись в базу, а обязательных для заполнения стояло 2 поля!!!
спасибо за помощь!!! smile 
ещё один вопросик мелочный как после закрытия одной формы обновить данные в той фотме которая отбражает содержимое базы (после закрытия формы заполнения форма отображения становится активной)
PM MAIL   Вверх
Данкинг
Дата 31.5.2008, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Zigmyndshtein @  31.5.2008,  18:37 Найти цитируемый пост)
ещё один вопросик мелочный как после закрытия одной формы обновить данные в той фотме которая отбражает содержимое базы (после закрытия формы заполнения форма отображения становится активной) 

В общем и целом - переподключиться к БД.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Dmi3ev
Дата 31.5.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



если там, допустим, данные хранятся в Table, то тогда надо написать:
Код

Table1->Active=false;
Table->Active=true;

ваще есть еще рефреши всякие, но так точно можно)))


--------------------

PM MAIL   Вверх
Zigmyndshtein
Дата 1.6.2008, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Dmi3ev,  у мня правдо вместо тайбл используется query, ну а куда новесить лучше эту процедуру, если по закрытию одной формы должна обновиться вторая
PM MAIL   Вверх
Данкинг
Дата 1.6.2008, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Zigmyndshtein @  1.6.2008,  11:48 Найти цитируемый пост)
у мня правдо вместо тайбл используется query

Тогда заново выбрать данные в запрос... smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Xolodna
Дата 2.6.2008, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.5.2008

Репутация: нет
Всего: нет



Ребят, у меня практически такая же проблема. При попытке добавления новой записи в таблицу, билдер выдает ошибку "Ошибка синтаксиса в инструкции INSERT INTO". Перепробовала уже всё, что знала - никак не хочет добавлять:( Может, вы хоть чем поможете. Вот код:

   AnsiString id_opr = DBEdit1->Text;
   AnsiString id_answ = DBLookupComboBox4->KeyValue;
   AnsiString date = MaskEdit1->Text;

   ADOQuery2->Close();
   ADOQuery2->SQL->Clear();
   ADOQuery2->SQL->Add("INSERT INTO Rezults (id_opr, id_answ, date) VALUES ('"+id_opr+"','"+id_answ+"','"+date+"');");
   ADOQuery2->ExecSQL();
PM MAIL   Вверх
gather
Дата 2.6.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Rescue Officer
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 13.6.2007
Где: Russia, Lipetsk

Репутация: нет
Всего: 4



Запрос, который пытается выполнить - в студию (точнее сказать сюда) давайте
PM MAIL WWW Skype GTalk Jabber   Вверх
Xolodna
Дата 2.6.2008, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.5.2008

Репутация: нет
Всего: нет



Эээм... да я вроде как его написала в сообщении....
PM MAIL   Вверх
Rififi
Дата 2.6.2008, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 1
Всего: 36



Цитата(Xolodna @  2.6.2008,  14:16 Найти цитируемый пост)
При попытке добавления новой записи в таблицу, билдер выдает ошибку

ошибка, я уверен, в неправильном формате даты (переменная date)
чтобы её избежать, для этого придумали параметры команды. в гугле полно примеров, юзай поиск.
PM MAIL   Вверх
Xolodna
Дата 2.6.2008, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.5.2008

Репутация: нет
Всего: нет



Цитата

ошибка, я уверен, в неправильном формате даты (переменная date)
чтобы её избежать, для этого придумали параметры команды. в гугле полно примеров, юзай поиск.


Поюзаю, конечно, на всякий случай, но дело в том, что один запрос на добавление подобного вида уже есть, и он работает, и не ругается ни на что. Там такая же дата, такого же формата. Поэтому я, мягко говоря, в недоумении:(
PM MAIL   Вверх
gather
Дата 2.6.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Rescue Officer
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 13.6.2007
Где: Russia, Lipetsk

Репутация: нет
Всего: 4



Цитата(Xolodna @  2.6.2008,  15:07 Найти цитируемый пост)
Эээм... да я вроде как его написала в сообщении.... 

вместе с реальными данными, которые Вы добавляете.
Выведите запрос например в memo и copypaste сюда.
PM MAIL WWW Skype GTalk Jabber   Вверх
Xolodna
Дата 2.6.2008, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.5.2008

Репутация: нет
Всего: нет



Всем огромное спасибо! Ошибку нашла и она действительно была связана с полем даты, как и сказал Rififi. 
Вот исправленная строка:

ADOQuery2->SQL->Add("INSERT INTO Rezults (id_opr, id_answ, [date]) VALUES ("+id_opr+","+id_answ+",'"+date+"');");

Просто не хватало скобочек квадратныхsmile

PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1147 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.