Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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


Видимо я как то неправильно чего то делаю, ибо у меня это свойство всегда false
TADoTable.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
3-1177658448
DelphiLexx
2007-04-27 11:20
2007.08.12
FireBird 2.0 многопользовательская работа


2-1184611472
bagos
2007-07-16 22:44
2007.08.12
chart


11-1167652790
Vladimir Kladov
2007-01-01 14:59
2007.08.12
Версия 2.50


2-1184731192
Jann
2007-07-18 07:59
2007.08.12
работа с файлом dbf


2-1184735926
Boga
2007-07-18 09:18
2007.08.12
Архивирование папки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский