当它来自核对表框控件时,如何在我的数据库中添加记录?

时间:2010-08-30 15:15:09

标签: sql database vb.net

我在如何编写代码方面遇到了麻烦。首先,我需要为列表中的每个项目分配一个值(1表示第一个项目,2表示第二个项目,依此类推)。除文本外,此控件是否具有单独的值字段?

其次,我需要以这种格式将其插入我的数据库(MSSQL 2008):

insert into table values(ID, selectedvaluegoeshere )

有人可以指导我如何实现这一目标。

1 个答案:

答案 0 :(得分:1)

执行此操作的理想方法是使用枚举值填充Checked组合框,这样可以保证列表中的项与其值的关联。要将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

现在考虑一下,你可能最好在你的组合选择中使用查找编辑。然后,当您要插入数据库时​​,您可以从Control中检索所选的项目集合。