Click here to Skip to main content
15,885,641 members
Articles / Programming Languages / Visual Basic

Object-Oriented database design with the DatabaseObjects library

Rate me:
Please Sign up or sign in to vote.
4.00/5 (6 votes)
31 Jan 20076 min read 109.5K   3.9K   64  
Demonstrates creating object-oriented database systems with the DatabaseObjects library.
Imports System.Collections
Imports DatabaseObjects

Public Class Regions
    Inherits DatabaseObjects.DatabaseObjectsEnumerable

    Friend Sub New(ByVal objDatabase As Database)

        MyBase.New(objDatabase)

    End Sub

    Default Public ReadOnly Property Item(ByVal intIndex As Integer) As Region
        Get

            Return MyBase.ObjectByOrdinal(intIndex)

        End Get
    End Property

    Public ReadOnly Property Count() As Integer
        Get

            Return MyBase.ObjectsCount

        End Get
    End Property

    Protected Overrides Function DistinctFieldAutoIncrements() As Boolean

        Return False

    End Function

    Protected Overrides Function DistinctFieldName() As String

        Return "RegionID"

    End Function

    Protected Overrides Function ItemInstance() As DatabaseObjects.IDatabaseObject

        Return New Region(Me)

    End Function

    Protected Overrides Function KeyFieldName() As String

    End Function

    Protected Overrides Function OrderBy() As DatabaseObjects.SQL.SQLSelectOrderByFields

    End Function

    Protected Overrides Function Subset() As DatabaseObjects.SQL.SQLConditions

    End Function

    Protected Overrides Function TableJoins(ByVal objPrimaryTable As DatabaseObjects.SQL.SQLSelectTable, ByVal objTables As DatabaseObjects.SQL.SQLSelectTables) As DatabaseObjects.SQL.SQLSelectTableJoins

    End Function

    Protected Overrides Function TableName() As String

        Return "Region"

    End Function

End Class


Public Class Region
    Inherits DatabaseObject

    Private pstrDescription As String

    Friend Sub New(ByVal objParentCollection As DatabaseObjects.DatabaseObjects)

        MyBase.New(objParentCollection)

    End Sub

    Public Property Description() As String
        Get

            Return pstrDescription

        End Get

        Set(ByVal Value As String)

            pstrDescription = Value

        End Set
    End Property

    Public Overloads Sub Save()

        MyBase.Save()

    End Sub

    Protected Overrides Sub LoadFields(ByVal objFields As DatabaseObjects.SQL.SQLFieldValues)

        pstrDescription = objFields("RegionDescription").Value
        pstrDescription = pstrDescription.Trim      'field is 50 nchar not nvarchar

    End Sub

    Protected Overrides Function SaveFields() As DatabaseObjects.SQL.SQLFieldValues

        SaveFields = New SQL.SQLFieldValues
        SaveFields.Add("RegionDescription", pstrDescription)

    End Function

End Class

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions