| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Базы данных > Добавление записи в базу |
| Автор: MacTep 13.11.2004, 23:21 | ||||
| Есть база данных Paradox со следующими полями: IdStud (тип: autoincremental) Fio (тип: alpha) Age (тип: Number). Доступ к базе - BDE. Почему, когда я пишу в Builder'е такое:
у меня вылезает ошибка о том, что неверное значение для поля IdStud? Как от нее избавиться. Только не надо предлагать варианта написания через
Это я знаю, мне надо именно первым способом. Заранее спасибо! |
| Автор: Mal Hack 14.11.2004, 11:39 |
| MacTep я делал так на Delphi, и писал Table1 -> Insert, а дельше редактировать поля этой пустой записи.... Если все-таки надо только через AppendRecord, то NULL auto_increnent'у попробуй поменять на пустое значение '' по крайней мере ы MySQL такая вещь - прокатывала. |
| Автор: MacTep 14.11.2004, 12:02 |
| Mal Hack, на Deplhi я тоже ставил nil в том месте и все прокатывало очень хорошо. А вот с Builder'е не катит вообще. А что значит поменять на пустое значение? Это как? просто написать: "", да? Не катит. |
| Автор: RVN 4.2.2005, 10:52 |
| Table1->AppendRecord нельзя применять, если IdStud (тип: autoincremental) Пробуй Insert |
| Автор: Hroft 4.2.2005, 12:14 | ||
| Это где написано, что нельзя? А там не может быть какой-нибудь константы, которая играла бы при помещении в поле роль сигнала на автоинкремент? Триггеров в Paradox, конечно, нет... Добавлено @ 12:16 А не может быть вот с этим проблема:
Может, там со значениями автоинкрементными что-то не так? Типа уже существуют, или еще что? |
| Автор: RVN 18.2.2005, 09:28 |
| Написано в С++Builder 6 Архангельского По идее нужно создать пустую запись в таблице, чтобы увеличить счетчик. А потом можно издеваться над полями, но не трогать автоинкремент. |
| Автор: MacTep 18.2.2005, 15:40 |
| RVN, логично! Спасибо! |
| Автор: RVN 13.4.2005, 06:37 |
| MacTep Привет! Для всех, кому интересно! Можно вставить запись в таблицу с помощью SQL. Поля: ID_NASP(ID населенного пункта, autoincrement) NASP(название населенного пункта, А, 30) При создании UpdateSQL заносятся все поля. UpdateSQL создается для удобства. Убираешь из запроса поле autoincrement. Зачеркнуто. QueryApply->Close(); QueryApply->SQL->Clear(); QueryApply->SQL->Add("Insert into NASP.db ( QueryApply->SQL->Add("VALUES ( QueryApply->Params->Items[0]->AsString=Edit1->Text;//нас.пункт QueryApply->ExecSQL(); Еще одно преимущество- один запрос для модификации разных таблиц, и работает быстрее чем Table. Все значения QueryApply->SQL->Add("Insert и QueryApply->SQL->Add("VALUES должны быть на одной строке |