|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.12.2010, 01:59 | #1 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
Firebird. Автоматическое внесение значения в поле при добовлении
Доброго времени суток товарищи!!!
Итак, я использую СУБД FIREBIRD 2.1. Для работы с ней пользуюсь компонентами вкладки InterBase. Пусть у нас есть таблица: P(a,b, id) Поле a вводиться пользвателем. Значение поля b вводится нашей программой. Поле Id — primary key. Для отображения таблицы используем TIBQuery с прикрепленным к нему компонентом класса TIBUpdateSQLW. У нас следующие запросы к БД: 1. на отображение данных SELECT a,b, id FROM P 2. на изменение данных update P set a = :a, b = :b where ID = :OLD_ID 2. на вставку insert into P (a, b) values (:a, :b) 3. На обновление SELECT a,b,id FROM P Where id=:OLD_Id 4. Удаление delete from P where ID = :OLD_ID Допустим нужно чтобы во всех следующих добавленных записях поле b имело, скажем, значение 5. Я вижу только один вариант: перевисывать каждый раз (ну когда значение меняется) запрос на вставку: insert into P (a, b) values (:a, 5) Какие альтернативы товарищи??? ИМХО этот вариант не грациозен =)))
Помог? Ну так нажми на весы!
|
10.12.2010, 11:50 | #2 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
вопрос сам по себе "не грациозен"
как программа поймет когда нужно включить режим дефолтной вставки? и какое дефолтное значение будет? оно будет одно и то же или иногда другое? ваще-то в самой базе можно учесть дефолтность еще на стадии проектирования таблицы Код:
|
10.12.2010, 12:35 | #3 |
Участник клуба
Регистрация: 23.04.2009
Сообщений: 1,058
|
а интрукцию к СУБД почитать? в базе выставляешь default_value у поля например 5
если в insert не упомянуто поле с default_value то будет вставлено это самое default_value если упомянуто, то будет вставлено присвоенное ему значение.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
|
10.12.2010, 21:22 | #4 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
Я наверно не конца внятно выразился... пусть скажем в качестве значения поля b будет вводиться не всегда одно число... т.е. не всегда 5. Пользователь сам не может вводить значения поля b. Короче говоря про дефолтовые значения поля при создании таблицы мну знает (благо не дурак).
Помог? Ну так нажми на весы!
|
10.12.2010, 21:56 | #5 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
ну можно так
Код:
|
10.12.2010, 22:24 | #6 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
ну как вариант можно :-)
Я вот кстате пытался замутить через свойтсво DefaultExpression поля но не получилось =(
Помог? Ну так нажми на весы!
|
10.12.2010, 22:45 | #7 | |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
не вышло бы
Цитата:
прошу прощения был не прав поправился постом ниже Последний раз редактировалось vovk; 11.12.2010 в 10:46. |
|
10.12.2010, 23:08 | #8 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
Цитата:
вот и программируй свои случаи |
|
11.12.2010, 00:46 | #9 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
Всем спасибо!!! =)
Помог? Ну так нажми на весы!
|
11.12.2010, 01:18 | #10 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
тут я был не прав на счёт DefaultExpression, перечитал хелп по фибам
в общем отключаем в опциях pFIBDataSet >Prepareoptions>pfImportDefaultValu es= false потом в программе где нужно Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запись пустого значения в блоб поле в FireBird | Lokos | БД в Delphi | 0 | 23.06.2010 07:01 |
Значения в поле подстановок зависят от значения в другом поле | pyhtelka | Microsoft Office Access | 4 | 13.06.2010 10:42 |
Не обновляется поле при выборе значения | Agapov_stas | Microsoft Office Access | 5 | 29.01.2010 10:29 |
автоматическое изменение значения | intelx1989 | Microsoft Office Access | 1 | 12.01.2010 21:19 |
При добовлении записи в DBGrid выводит ошибку | GhostBZ | БД в Delphi | 2 | 03.09.2009 15:46 |