Форум: "Прочее";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
ВнизОпределить Null или Not Null Поле в БД Найти похожие ветки
← →
Сергей М. © (2007-07-12 17:15) [40]
> Rip_1982 © (12.07.07 17:14) [39]
засим откланиваюсь и ... ждем-с автора шедевра )
← →
Johnmen © (2007-07-12 17:26) [41]Вообще-то меня вот это напрягло
> Rip_1982 © (12.07.07 15:37) [7]
> Во превых в БД есть поля!
можно пример?
Или это типа "вещество состоит из протонов"?
← →
Rip_1982 © (2007-07-12 17:29) [42]Удалено модератором
← →
Johnmen © (2007-07-12 17:37) [43]
> Rip_1982 © (12.07.07 17:29) [42]
Оба-на...
А это о чём :
> Rip_1982 © (12.07.07 15:54) [10]
> БД - это по сути структированный файл!
и
>Rip_1982 © (12.07.07 16:59) [32]
>БД Interbase может состоять из 1-го файла и включать несколько таблиц!
?
← →
Rip_1982 © (2007-07-12 17:39) [44]Удалено модератором
← →
StriderMan © (2007-07-12 17:40) [45].IsNull?
← →
Johnmen © (2007-07-12 17:44) [46]
> Rip_1982 © (12.07.07 17:39) [44]
Мне не понятно твоё представление о том, что есть
1. БД
2. Таблица
3. Поле
и твоё понимание их содержания.
И что означает фраза "в файлах БД хранятся описания полей" с т.з. логической структуры?
← →
Rip_1982 © (2007-07-12 17:51) [47]Удалено модератором
← →
iXT © (2007-07-12 17:57) [48]Ну что вы напали на человека. Ну отправьте его в библиотеку книжки читать и все тут.
> Rip_1982 ©
>
>
Тот кто думает что он знает все, просто не догадывается о том как много есть того, о чем он даже не подозревает :) О-как
← →
Val © (2007-07-12 17:57) [49]в фоксе, насколько мне помнится, каждая таблица называлась БД.
с другой стороны, если поля есть в таблицах бд, то они есть и в бд, поскольку сами таблицы находятся в бд.
соотв. фразу за уши можно притянуть :)
← →
Val © (2007-07-12 17:58) [50]но..давайте лучше о..бабах...
← →
Johnmen © (2007-07-12 17:58) [51]
> Rip_1982 © (12.07.07 17:51) [47]
Как этот пример коррелирует с
> Rip_1982 © (12.07.07 15:54) [10]
> БД - это по сути структированный файл!
И что по поводу [46]?
← →
Rip_1982 © (2007-07-12 18:06) [52]Удалено модератором
← →
Val © (2007-07-12 18:07) [53]может, забили...
← →
iXT © (2007-07-12 18:08) [54]
> Я в теории не силен, не спорю, но уже не одна БД разработанная
> мной используется на предприятиях и т.д. И до сих пор никто
> не жаловался.
Вот ведь, где беда. А я то думаю откуда они берутся!
← →
Rip_1982 © (2007-07-12 18:09) [55]Удалено модератором
← →
Panel (2007-07-12 18:19) [56]Вот ведь, где беда. А я то думаю откуда они берутся!
"Свет! Выключите свет! Они лезут на свет!" (С)
И до сих пор никто не жаловался.
Врешь.
← →
Кевларвестов Семен (2007-07-13 12:14) [57]В общем есть некая база на SQL server и есть ее описание. И нужно контролировать чтоб база соответствовала этому описанию. Создание/удаление таблиц/полей есть. Теперь захотелось мне чтоб она еще отслеживала изменения типа и NULL/ NOT NULL поля в базе. Изменения типа получается обнаруживать а вот с этим NULL/ NOT NULL - нет.
> Свойство TField.Required установлено в true если поле Not
> Null и в False, если Null
Видимо я как то неправильно чего то делаю, ибо у меня это свойство всегда falseTADoTable.FieldByName(strFieldDBName).Required.
Может тут какой рефреш надо сделать или коннект? Но ведь тип то поля получается правильный...
← →
Игорь Шевченко © (2007-07-13 12:16) [58]
> В общем есть некая база на SQL server и есть ее описание.
> И нужно контролировать чтоб база соответствовала этому
> описанию
Изучай таблицы метаданных SQL-сервера и их формат. Там точно есть.
← →
ЮЮ © (2007-07-13 12:31) [59]SELECT * FROM INFORMATION_SCHEMA.COLUMNS ORDER BY TABLE_NAME
там и IS_NULLABLE поле есть.
З.Ы. только смысл всего не очень ясен. Т.е. если структуры таблицы на сервере вдруг поменяют, то твоя программа с лёту будет правильно фунционировать? Поймет что делать с вдруг возникшими атрибутами, забудет напрочь о ранее существовавших?
Почему просто со сменой структуры таблиц не родправить и компоненты в приложении.
З.Ы. Лучше, конечно, просто удалиь, пока в дизайне (TADoTable) :)
TField.Required и MULL/NOT NULL не на все 100% коррелируют. Первое - на клиенте, второе - на сервере. Вряд ли для пвтоинкрементноко ключевого (первичного) поля в таблице требуется Required на клиенте
← →
Кевларвестов Семен (2007-07-13 13:11) [60]Структуры таблиц на сервере менять никто не будет ибо она должна соответстовать тому что написано в XML описании, по которому моя программа ее и создает. Т.е. меняется описание - меняется структура данных, а не наоборот. А TAdoTable я использую для досутпа к типу полей, вот думал что и Null / Not null оттуда можно выковырять.
Заново создавать я могу, добавлять/удалять поля/таблицы. Хотелось бы еще менять тип и вот этот null/ not null ну или хотя бы информировать об этом.
(Т.к. насколько я понял изменить тип у таблицы с данными просто Alter Column не получится)
← →
Сергей М. © (2007-07-13 13:15) [61]
> нужно контролировать чтоб база соответствовала этому описанию
О как дело-то повернулось)
← →
Кевларвестов Семен (2007-07-13 13:28) [62]да... выдыруг.... откуда ни возьмись... такие дела
← →
Сергей М. © (2007-07-13 13:30) [63]
> Кевларвестов Семен (13.07.07 13:28) [62]
А скажи на милость, с какого перепугу база может перестать соответствовать этому описанию, если никто кроме тебя (как ее администратора, очевидно ?) не вправе и не может изменить ее метаданные ?
← →
Кевларвестов Семен (2007-07-13 13:34) [64]...если изменили ее описание в XML файле...
← →
MsGuns © (2007-07-13 14:04) [65]>Сергей М. © (12.07.07 15:36) [5]
>>ообще-то есть
>Где ?) Открой для меня, если не трудно, эту америку)
Ну если говорить не о "полях", а о колонках (так методологически точнее), то что-то похожее имеется и называется "доменом" ;)
>Сергей М. © (12.07.07 16:06) [15]
>"База данных (БД) — централизованное хранилище данных, >обеспечивающее хранение, доступ, первичную обработку и поиск >информации"
>У меня нет ни малейших поводов не согласиться с такой формулировкой)
А у меня есть. По крайней мере усомниться. Не нравится мне в этой формулировке слово "централизованное"
← →
Johnmen © (2007-07-13 14:58) [66]
> MsGuns © (13.07.07 14:04) [65]
Ну уж если говорить совсем методологически точно, то в БД НИЧЕГО, кроме таблиц, нету...
← →
Сергей М. © (2007-07-13 15:02) [67]
> Кевларвестов Семен (13.07.07 13:34) [64]
>
> ...если изменили ее описание в XML файле...
Кто изменил-то ? Кроме тебя ?
← →
Кевларвестов Семен (2007-07-13 15:42) [68]Ну а хотя б и я, хотя народу тут много, все могут.
В любом случае, кто б ее, родимую, не менял, было б крайне мило если б база синхронизировалась с этим метаописанием.
← →
Сергей М. © (2007-07-13 15:49) [69]
> народу тут много, все могут
Бардаком отдает это изрядно)
← →
Кевларвестов Семен (2007-07-13 15:52) [70]нет! этого требует технологический процесс.
← →
pasha_golub © (2007-07-13 16:24) [71]Семен, приведи пример.
Файл описания До, После, Структура БД До и После.
А то шото из тебя тянут, а вытянуть не могуть. По ходу дела, вон, человека обидели. Весь красный тут, понимаешь...
← →
isasa © (2007-07-13 16:25) [72]Оппа, как подрались.
А вопрощающий, по моему ждал ответа типа
if VarIsNull(<datasetname>[<FieldName>]) then ...
← →
Johnmen © (2007-07-13 17:10) [73]
> pasha_golub © (13.07.07 16:24) [71]
> Семен, приведи пример.
Судя по мылу - Антон :)))
← →
Кевларвестов Семен (2007-07-13 20:40) [74]ну гм Антон, но в целях конспирации - Семён.
по поводу файла описания ло и после.
Есть xml ник типа
<tables>
<table name="Table1">
<fields>
<field name="field1" type="fldtString" is_null=false/>
<field name="field2" type="fldtFloat" is_null=true/>
</fields>
</table>
</tables>
По нажатию на некоторую кнопку (TToolButton) в приложении, оно берет и создает базу согласно этому описанию.
Однако, если нажать на другую кнопку (TToolButton) этого приложения, оно должно не создавать базу снова, а лишь изменить ее согласно опсианию. Мало ли вдруг будет нужно добавить <field name="field3" type="fldtBool" is_null=true/>? Для производственных целей.
Или к примеру было <field name="field2" type="fldtFloat" is_null=true/>, стало <field name="field2" type="fldtInt" is_null=false/> это безобразие безусловно тоже должно быть соотствествующим образом обработано. Дык вот изменение типа поля мне получается отловить, ну и пусть не изменить его, но хоть поругаться, а вот изменение нульности нотнульнсти нет. Вот такие вот пироги.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
Память: 0.59 MB
Время: 0.048 c