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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2007, 10:37   #1
azat
Пользователь
 
Регистрация: 26.11.2007
Сообщений: 56
По умолчанию значения по умолчанию

У меня такой вопрос:
имеется база (MS Access) в ней таблица, содержащая значения по умолчанию :
ID счетчик (перв ключ)
DocID числовой (значение по умолчанию 511)
str строковый
...
В программе: ADOConnection+ADOTable+DataSource+D BEdit;
(все необходимые свойства установлены)
1)
делаю
ADOTable1.Open;
ADOTable1.Insert;
но DBEdit не показывает значение по умолчанию

2) даже если
ADOTable1.Open;
ADOTable1.Insert;
...
ADOTable1.Close;
DBEdit не показывает значение по умолчанию

3) если
ADOTable1.Open;
ADOTable1.Insert;
ADOTable1.Close;
(сразу Close после Insert) то пишет мол "не удается вставить пустую строку. Необходим хотябы один столбец значений" (хотя в базе прописаны значения по умолчанию)
azat вне форума Ответить с цитированием
Старый 10.12.2007, 10:47   #2
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Цитата:
Сообщение от azat Посмотреть сообщение
В программе: ADOConnection+ADOTable+DataSource+D BEdit;
Может я что-то не правильно понял, но Вы попробуйте с св-ве DataField, компонента DBEdit выбрать поле, значения которого Вы хотели бы увидеть.
фЁдОр вне форума Ответить с цитированием
Старый 10.12.2007, 15:05   #3
azat
Пользователь
 
Регистрация: 26.11.2007
Сообщений: 56
По умолчанию

Цитата:
Сообщение от фЁдОр Посмотреть сообщение
Может я что-то не правильно понял, но Вы попробуйте с св-ве DataField, компонента DBEdit выбрать поле, значения которого Вы хотели бы увидеть.
Понятное дело - выбрано.
DBEdit.DataField:=DocID

Цитата:
Сообщение от azat Посмотреть сообщение
2) даже если
ADOTable1.Open;
ADOTable1.Insert;
...
ADOTable.fieldByName('str').asStrin g:='akjdhkajfh';
ADOTable1.Close;
DBEdit не показывает значение по умолчанию
(DBedit.DataField:=DocID; )
странно очень - вроде новая строка занесена в базу и установленно значение по умолчанию для DocID (открыв базу через
ms access убедился в этом) но DBEdit попрежнему не видет это значение.
а вот значение поля str отображается
((((

Ну может кто знает что делать то? а?

уффф...
Создал вторую таблицу, где храню значения по умолчанию для таблицы1, а потом при insert тупо вставляю эти значения...

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

(шутка)

Последний раз редактировалось Alex21; 10.12.2007 в 15:09. Причина: Есть кнопка "Правка" Больше 2-х сообщений подряд не постить!
azat вне форума Ответить с цитированием
Старый 11.12.2007, 12:01   #4
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Очень просто сделай в этой-же таблице поле идентифицир. таблицу к которой относится данное дефултовое значение. Терь ты в этой таблице сможешь хранить дефулты для ЛЮБОЙ таблице из БД.
Domovoy вне форума Ответить с цитированием
Старый 11.12.2007, 13:22   #5
azat
Пользователь
 
Регистрация: 26.11.2007
Сообщений: 56
По умолчанию

не совсем понятно что имелось в виду.
Может быть зарезирвировать скажем первую запись таблицы для значений по умолчанию (для соотвествующий полей).
Но возникает проблема - таблица имеет автоинкрементное поле (которое спользуется в программе, т.е. записи должны начинаться с единицы).
А присвяивать этому полю значение невозможно. ((
azat вне форума Ответить с цитированием
Старый 11.12.2007, 15:56   #6
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

я ж тебе написал самое оптимальное решение
ТАблица должна иметь следующии поля:
1) id - ключ записи
2) idTable - ключ Таблицы
3) FieldName - имя Поля
4) Default - дефултовое Значение
Domovoy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструктор по умолчанию Rembo Общие вопросы C/C++ 9 30.07.2008 09:54
Как определить содинение по умолчанию ? Crazyman Работа с сетью в Delphi 5 30.06.2008 00:24
Файл по умолчанию (задание колонтитулов) WIC Microsoft Office Excel 3 08.02.2008 09:59
Дата по умолчанию ГОСЕАН БД в Delphi 3 11.07.2007 19:33