Как добавить запись в мою базу данных, если она поступает из элемента управления контрольного списка? - PullRequest
1 голос
/ 30 августа 2010

У меня проблемы с тем, как это закодировать. Сначала мне нужно назначить значение для каждого элемента в списке (1 для первого элемента, 2 для второго и т. Д.). Есть ли у этого элемента управления отдельное поле для значения помимо текста?

Во-вторых, мне нужно вставить это в мою базу данных (MSSQL 2008) в следующем формате:

insert into table values(ID,selectedvaluegoeshere)

Может кто-нибудь подсказать мне, как этого добиться.

1 Ответ

1 голос
/ 30 августа 2010

Идеальный способ сделать это - использовать перечисляемые значения, чтобы заполнить проверенное поле со списком, что позволяет гарантировать связь элементов в списке с их значениями. Чтобы преобразовать Enum в удобный для человека формат, вы можете сделать что-то вроде этого.

Imports System.ComponentModel
Imports System.Reflection

Public Enum ePregnancyCode
            <Description("Not Specified")> _
            NotSpecified
            <Description("Not Pregnant")> _
            NotPregnant
            <Description("Pregnant")> _
            Pregnant
        End Enum

И затем получить поле Description, используя этот код

Public Function GetDescription(ByVal EnumConstant As [Enum]) As String
            Dim fi As FieldInfo = EnumConstant.GetType().GetField(EnumConstant.ToString())
            Dim aattr() As DescriptionAttribute = _
                DirectCast( _
                    fi.GetCustomAttributes(GetType(DescriptionAttribute), False),  _
                    DescriptionAttribute() _
                )
            Return If(aattr.Length > 0, aattr(0).Description, EnumConstant.ToString())
        End Function

Вероятно, вам лучше было бы использовать правку поиска для вашего Combo Selection, теперь, когда я об этом думаю. Затем вы можете просто извлечь выбранную коллекцию элементов из элемента управления, когда вы собираетесь вставить ее в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...