Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Default значения полей / 25 сообщений из 25, страница 1 из 1
15.10.2005, 16:33
    #33326524
Alexander_UA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
Есть ли или будет ли когда-то в ADO возможность определить default значения полей для новой записи? Ведь нехорошо же закладывать присвоение этих значений в приложении? А если не присваивать, то до форма редактирования записи выглядит пустой и пользователь не имеет никакой возможности знать, что что-то там имеет Default значение. Это тоже не хорошо, IMHO. Кто как это решает?
...
Рейтинг: 0 / 0
17.10.2005, 21:48
    #33329196
Sv219
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
так значение по дефолту же в АДО есть, примерно так ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Dim myCol As DataColumn
    Dim myTable As New DataTable
 
    myCol = New DataColumn
    With myCol
       .DataType = System.Type.GetType("System.String")
       .DefaultValue = "Address"
       .Unique = False
    End With
    myTable.Columns.Add(myCol)
или я не правильно понял вопрос????
...
Рейтинг: 0 / 0
31.10.2005, 14:00
    #33352991
Alexander_UA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
Неправильно поняли. Я имел в виду реально установленные в БД значения полей.
Например
create table tblCustomer (
CustomerID INT not null,
Name VARCHAR(15) not null,
Gender BIT not null default 0,
Changed DATETIME not null default now(),
constraint PK_CUSTOMER primary key (CustomerID)
)
...
Поле Gender в этом примере имеет default значение 0, а поле Changed - now().
Как наилучшим образом реализовать интерфейс для редактирования указанных полей в новой записи этой таблицы?
1) Можно просто забыть про установки default в БД. При этом пользователь правда будет удивлен тому, то после сохранения записи эти поля изменились, хотя он их значения и не определял.
2) Можно заложить логику присвоения default в приложение. При этом в окне редактирования новой записи пользователь действительно увидет, что некоторые поля уже заполнены предположительными значениями, которые он может затем изменить. Но, у этого подхода есть минус - если по-каким то причинам в БД изменятся условия default, например
Gender BIT not null default 1,
или добавятся новые, то приложение либо будет по прежнему инициализировать Gender для новой записи нулем, либо, для новых default по прежнему не инициализировать эти поля указанными default значениями.
И наконец:
3) Если бы кто-то подсказал, как получать информацию из БД о default, то при создании новой записи приложение сразу бы инициализировало поля default значениями согласно БД. Вот в этом и состоит мой вопрос.
...
Рейтинг: 0 / 0
01.11.2005, 00:26
    #33354254
Vadimek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
Можно попробовать так :
Код: plaintext
1.
2.
3.
select COLUMN_NAME,COLUMN_DEFAULT 
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME=N'TableName' 
...
Рейтинг: 0 / 0
02.11.2005, 16:14
    #33358097
Alexander_UA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
Вот, вот... Но годится этот запрос не для каждой поддерживаемой ADO базы данных. Поэтому у меня и возник такой "крик души", о том, чтобы поддержка требуемой функциональности была заложена в ADO.
...
Рейтинг: 0 / 0
02.11.2005, 16:52
    #33358231
Alexander_UA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
Можно воспользоваться
recset := ADOConnection.ConnectionObject.OpenSchema(adSchemaColumns, ...)
но на том же MS SQL результат возвращается не для всех пользователей - включается работа системы прав. Но и не давать же права менеджера пользователю только для того, чтобы получить defaults ?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
19.02.2007, 16:26
    #34341591
Серж
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
Дак есть какое-либо штатное средство для решения этой проблемы или нет?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
19.09.2010, 22:47
    #36854502
Шыфл
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
UP

Неужели в LINQ нет способа вставлять в nullable columns значения из default constraint сервера?
...
Рейтинг: 0 / 0
19.09.2010, 23:19
    #36854524
veon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
создал таблицу MySQL

Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE `Account` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `nickName` varchar(45) NOT NULL,
  `created` timestamp NULL default CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id`)
)

создал по ней модель.

Как заставить ADO.Net не сетить timestamp в БД а прочитать его как и id?

В свойствах поля вижу только Default Value:(None),
Store Generated Pattern - похоже по описанию, но не работает
...
Рейтинг: 0 / 0
20.09.2010, 09:45
    #36854743
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
...
Рейтинг: 0 / 0
20.09.2010, 14:47
    #36855562
veon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
Для Entity решение http://geeksharp.com/2010/05/27/ef4-bug-in-storegeneratedpattern-ssdl/

поле правильное но из-за бага оно не сетится, надо прописывать ручками
...
Рейтинг: 0 / 0
20.09.2010, 21:50
    #36856348
Шыфл
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
МСУ Using Default Values in LINQ to SQL

Всё хорошо, только не работает. Т.е.
Код: plaintext
IsDbGenerated=true
работает, только потом значение нельзя менять. А вот
Код: plaintext
AutoSync=AutoSync.OnInsert
не работает, тупой Linq суёт своё значение, хотя оно никому нафиг не упало.

Если верить форуму Мелкомягких, то нормального решения нет :(
http://social.msdn.microsoft.com/forums/en-US/linqprojectgeneral/thread/f5753fc9-89bd-4f9a-94d9-be616a8d9a14/

Всё юзают затычку вида
Код: plaintext
1.
2.
3.
4.
5.
6.
partial void OnCreated() 
{
        if (this.DateTimeCreated == null)
        {
               this.DateTimeCreated = DateTime.Now;
        }
}
...
Рейтинг: 0 / 0
21.09.2010, 20:32
    #36858874
Шыфл
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
Написал функцию для Link, которая инициализирует Default значения из системных табличек сервера. Если кому интересно, могу выложить. Работает даже для временных таблиц
...
Рейтинг: 0 / 0
21.09.2010, 23:27
    #36859045
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
Alexander_UAЕсть ли или будет ли когда-то в ADO возможность определить default значения полей для новой записи? Ведь нехорошо же закладывать присвоение этих значений в приложении? А если не присваивать, то до форма редактирования записи выглядит пустой и пользователь не имеет никакой возможности знать, что что-то там имеет Default значение. Это тоже не хорошо, IMHO. Кто как это решает?
Объясните мне, накой вообще дефолтные значения в БД? Ни безопасности, ни целостности ни производительности они не добавляют. ЗАЧЕМ их сначала прописывать в БД, а потом тянуть на ее клиента?
...
Рейтинг: 0 / 0
22.09.2010, 10:11
    #36859374
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
КурдльЗАЧЕМ их сначала прописывать в БД, а потом тянуть на ее клиента?
У БД может быть несколько клиентов, причем не пересекающихся по логике и технологиям доступа.
...
Рейтинг: 0 / 0
22.09.2010, 10:17
    #36859387
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
МСУУ БД может быть несколько клиентов, причем не пересекающихся по логике и технологиям доступа.
А это "+" или "-"? Судя по ветке, для Linq2SQL это "-".

Приведите, пожалуйста, пример парочки атрибутов бизнес-сущности, нуждающихся в серверной дефолтной инициализации.
...
Рейтинг: 0 / 0
22.09.2010, 11:38
    #36859589
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
КурдльА это "+" или "-"? Судя по ветке, для Linq2SQL это "-".
Это однозначно плюс. А проблемы Linq to SQL - это её проблемы, но никак не СУБД.

КурдльПриведите, пожалуйста, пример парочки атрибутов бизнес-сущности, нуждающихся в серверной дефолтной инициализации.
Таблица Документы. Синхронизация с удалёнными площадками (merge или transaction репликация).
...
Рейтинг: 0 / 0
22.09.2010, 11:46
    #36859609
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
МСУТаблица Документы. Синхронизация с удалёнными площадками (merge или transaction репликация).
А репликация силами СУБД, или клиента?

Я допускаю, что есть специфические случаи, когда они нужны. Но только не в ситуации, описанной автором ветки.
Зачем обращаться лишний раз к БД, чтобы вытянуть из нее какие-то значения, и без того известные разработчику клиента?
...
Рейтинг: 0 / 0
22.09.2010, 12:33
    #36859745
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
КурдльА репликация силами СУБД, или клиента?
Разумеется СУБД Ну и вопросы Вы задаёте. Гонять данные на промежуточный клиентский слой - проще самозастрелиться.
Во-вторых, про промежуточный слой, почитайте про организацию Publisher, Distributor , and Subscriber.

КурдльЯ допускаю, что есть специфические случаи, когда они нужны.
Вот об этом всегда нужно думать, прежде чем заявлять, что:

КурдльОбъясните мне, накой вообще дефолтные значения в БД? Ни безопасности, ни целостности ни производительности они не добавляют.

Идея понятна? На будущее: прежде чем что-то ляпнуть - подумайте.

КурдльЗачем обращаться лишний раз к БД, чтобы вытянуть из нее какие-то значения, и без того известные разработчику клиента?
Задача задаче рознь. Особенно, когда дело касается построение динамических форм с обозначенной схемой данной (различные конструкторы, а-ля как нам всё-время скринит навечно забаненый Сахват Юсифов). Задач много разных бывает. Вообщем, с ростом опыта Вы это поймёте :)
...
Рейтинг: 0 / 0
22.09.2010, 12:51
    #36859795
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
МСУ,

Мои утверждения и основаны на невдолбенном опыте разработки АС
Могу привести примеры, когда репликация силами СУБД невозможна или нецелесообразна.
Могу привести примеры, когда интеграция данных эффективнее через стороннего "клиента", а не силами СУБД.
В общем, много еще чему могу Вас научить. Ну и остальным посетителям форума - польза.
...
Рейтинг: 0 / 0
22.09.2010, 12:59
    #36859821
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
КурдльМои утверждения и основаны на невдолбенном опыте разработки АС
Простите, это много или мало? :) Если много, то я бы так не сказал. Обычно человек с "невдолбенными" скиллами такие глупости не постит.

КурдльМогу привести примеры, когда репликация силами СУБД невозможна или нецелесообразна.
Зачем их приводить, я прекрасно знаю эти случаи. Особенно, если речь касается Embedded Databases.

КурдльМогу привести примеры, когда интеграция данных эффективнее через стороннего "клиента", а не силами СУБД.
Привидите. Учитывайте факт, что роль такого клиента - дистрибьюция данных. Следовательно, возможно безпроблемное подключение любого количества баз данных без вмешательство в код.
Так же, интересует гибкая настройка источников синхронизации (таблиц, хп, функций, вьюх и так далее) без перекомпиляции кода. Так же не забудьте дать мне инструмент на выбор - мержевание, транзакционная реплика и репликация снимков (снапшот). Опять же, никакой перекомпиляции кода. Ибо, например, очень удобно на снапшот посадить редкообновляемые ресурсы, такие как хп, функции, вьюшки, и иже.
Когда мне покажите такой софт - я реально преклонюсь пред Вами и скажу спасибо.

КурдльВ общем, много еще чему могу Вас научить. Ну и остальным посетителям форума - польза.
Давайте, учите :)
...
Рейтинг: 0 / 0
22.09.2010, 13:20
    #36859878
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
МСУ
Простите, это много или мало? :) Если много, то я бы так не сказал. Обычно человек с "невдолбенными" скиллами такие глупости не постит.

Могу себе позволить в последний день перед отпуском :-P

МСУ
Привидите. Учитывайте факт, что роль такого клиента - дистрибьюция данных. Следовательно, возможно безпроблемное подключение любого количества баз данных без вмешательство в код.
Так же, интересует гибкая настройка источников синхронизации (таблиц, хп, функций, вьюх и так далее) без перекомпиляции кода. Так же не забудьте дать мне инструмент на выбор - мержевание, транзакционная реплика и репликация снимков (снапшот). Опять же, никакой перекомпиляции кода. Ибо, например, очень удобно на снапшот посадить редкообновляемые ресурсы, такие как хп, функции, вьюшки, и иже.
Когда мне покажите такой софт - я реально преклонюсь пред Вами и скажу спасибо.


Я обещал привести пример "когда интеграция данных эффективнее через стороннего "клиента", а не силами СУБД".
Могу это сделать с указанием наименований заказчиков, фамилиями должностных лиц, результатами испытаний и результатами проектов. Но пока повременю.
Скажу только, что в тех проектах безупречно отработала некое ПО .
...
Рейтинг: 0 / 0
22.09.2010, 13:28
    #36859897
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
КурдльЯ обещал привести пример "когда интеграция данных эффективнее через стороннего "клиента", а не силами СУБД".

КурдльНо пока повременю.

Отлично, Курдль. Вы, как всегда, великолепный участник дискуссии. Браво.

Курдль ПО .
Ни о чём не говорит... Реклама красивая, но толку мало.

P.S. Есть задача - реплицировать сиквельные данные с различных серверов. На кой мне какие-то танцы с бубнами, если я просто и бесплатно воспользуюсь стредствами сиквела? У оракуля тоже с этим всё в порядке.
...
Рейтинг: 0 / 0
22.09.2010, 14:32
    #36860107
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
МСУ,

Вы мне не верите?!!
Я обещал привести и могу привести соотв. примеры. Но не бесплатно! Напр. за кружку пива в местечке, где вокруг нет подозрительных ушей!

МСУНи о чём не говорит... Реклама красивая, но толку мало.

P.S. Есть задача - реплицировать сиквельные данные с различных серверов. На кой мне какие-то танцы с бубнами, если я просто и бесплатно воспользуюсь стредствами сиквела? У оракуля тоже с этим всё в порядке.

Ключевое слово "просто и бесплатно". Все зависит от масштаба проекта.
Если лично Вы просто "воспользуетесь стредствами сиквела" - это одно.
А если для этого надо посадить 30 специалистов по сиквелу? Не проще ли купить спец. средство, пусть даже за парочку 10**5 гренландских, но справиться тремя мышкователями?
...
Рейтинг: 0 / 0
22.09.2010, 15:59
    #36860460
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default значения полей
КурдльМСУ, Вы мне не верите?!!

http://ru.wikipedia.org/wiki/ВераВе́ра — признание чего-нибудь истинным без предварительной фактической или логической проверки , единственно в силу внутреннего, субъективного непреложного убеждения, которое не нуждается для своего обоснования в доказательствах, хотя иногда и подыскивает их.

Итого: озвучивайте фактические или логические аргументы, а потом будем верить или не верить.

КурдльЯ обещал привести и могу привести соотв. примеры. Но не бесплатно! Напр. за кружку пива в местечке, где вокруг нет подозрительных ушей!
Вы мне назначаете свидание? :)

КурдльКлючевое слово "просто и бесплатно". Все зависит от масштаба проекта.
Но-но. Не думайте, что конфигурация репликации данных это-таки простая штука. Много уж подводных камней и доков придётся съесть, чтобы можно было бы так говорить.

КурдльЕсли лично Вы просто "воспользуетесь стредствами сиквела" - это одно.
А если для этого надо посадить 30 специалистов по сиквелу?
Зачем 30? Достаточно одного вменяемого DBA.

КурдльНе проще ли купить спец. средство, пусть даже за парочку 10**5 гренландских, но справиться тремя мышкователями?
Не проще. Во-вторых, уже есть сильные средства интеграции, такие как MS BizTalk Server, SSIS в какой-то степени. Зачем какой-то левый софт?
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Default значения полей / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]