Форум: "Базы";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
ВнизAccess + ADO Найти похожие ветки
← →
Ozone (2003-10-30 16:20) [0]Создаю в Access"e БД с одной, например, таблицей.
Пусть у нее будут поля (ID, Pole1, Pole2), где ID-первичный ключ.
У полей Pole1 и Pole2 ставлю значение по умолчанию равное 0.
Коннектюсь к этой БД ч/з ADOConnection и привязываюсь к таблице с помошью например ADOTable.
Проблема в том, что при добавлении новой записи в таблицу и при заполнении только одного поля Pole1, в поле Pole2 ноль не ставится.
Что я делаю не так.
← →
Nikolay M. (2003-10-30 16:29) [1]Pole1 и 2 - целые или строковые?
Как на них установлены ограничения Пустые строки и Обязательное поле (не знаю, как это в англ. версии).
← →
Ozone (2003-10-30 16:36) [2]Эти поля строковые.
На счет ограничений не знаю, а посмотреть не могу (систему переустанавливаю).
Может скажешь как должно быть, а я потом все сделаю.
← →
Nikolay M. (2003-10-30 16:46) [3]
> как должно быть
Зависит от решаемой задачи - т.е. какую именно сущность представляет собой эта таблица. Соответственно в одних случаях поля могут быть пустыми (комментарий, например), в других - нет (ФИО клиента).
Двойной клик на 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-31 08:04) [4]Большое пасиба.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c