Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Access + ADO [D7]


Ozone ©   (2003-10-30 16:20:00) 

Создаю в Access"e БД с одной, например, таблицей.
Пусть у нее будут поля (ID, Pole1, Pole2), где ID-первичный ключ.
У полей Pole1 и Pole2 ставлю значение по умолчанию равное 0.
Коннектюсь к этой БД ч/з ADOConnection и привязываюсь к таблице с помошью например ADOTable.
Проблема в том, что при добавлении новой записи в таблицу и при заполнении только одного поля Pole1, в поле Pole2 ноль не ставится.
Что я делаю не так.


Ozone   (2003-10-31 08:04:00) [1]

Большое пасиба.


Nikolay M.   (2003-10-30 16:46:00) [2]


> как должно быть

Зависит от решаемой задачи - т.е. какую именно сущность представляет собой эта таблица. Соответственно в одних случаях поля могут быть пустыми (комментарий, например), в других - нет (ФИО клиента).

Двойной клик на TADOTable, Add all fields, у нужного поля выставляешь DefaultExpression и будет тебе счастье.

В твоем случае, если ты добавляешь записи через DBGrid (скорее всего так и есть), на сервер уходит строка
INSERT INTO table_name ( Pole1, Pole2) VALUES ( "", "La-la-la")
и дефолтные значения забиваются пустой строкой, которая явно указана в запросе.
А вот если бы ты сам сделал
INSERT INTO table_name (Pole2) VALUES ("La-la-la")
тогда бы аксес подставил в Pole1 значение по умолчанию, т.е. "0".


Ozone   (2003-10-30 16:36:00) [3]

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


Nikolay M.   (2003-10-30 16:29:00) [4]

Pole1 и 2 - целые или строковые?
Как на них установлены ограничения Пустые строки и Обязательное поле (не знаю, как это в англ. версии).


Наверх

Титульная страница Поиск, карта сайта Написать письмо