vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Objekte klonen 
Autor: lkatsch
Datum: 16.09.04 18:40

Und hier meine Klasse:

<Serializable()> Public Class clsObjectMaskCollection
    Private _objectMaskCollection As New Collection()
 
    Public Sub New()
        ' 1. ObjectMasks aus Datenbank lesen
        Dim connection1 As New SqlClient.SqlConnection( _
          trainingsmanager.ConfigConnectionString)
        Dim connection2 As New SqlClient.SqlConnection( _
        trainingsmanager.ConfigConnectionString)
        Try
            Dim objSelectQuery As String = "SELECT objectName," & _
              "objectNameUserfriendly FROM tm_objects"
            connection1.Open()
            Dim selectRequest As New SqlClient.SqlCommand(objSelectQuery, _
              connection1)
            Dim selectReader As SqlClient.SqlDataReader = _
            selectRequest.ExecuteReader
            While selectReader.Read
                'Neue Objektmaske hinzufügen
                Dim objectMask As New clsObjectMask(selectReader("objectName"))
                ' Eigenschaften der Objektmaske extrahieren
                objectMask.ObjectNameUserfriendly = selectReader( _
                  "objectNameUserfriendly")
 
                ' Eigenschaften der Properties extrahieren
                Dim propSelectQuery As String = "SELECT propertyName," & _
                  "propertyNameUserfriendly, controlName, controlType," & _
                  "defaultValue, reqNotEmpty, reqEmail, isIdentityMember, isPk" & _
                  "FROM tm_properties WHERE objectName = '" & selectReader( _
                  "objectName") & "'"
                connection2.Open()
                Dim selectPropRequest As New SqlClient.SqlCommand( _
                  propSelectQuery, connection2)
                Dim selectPropReader As SqlClient.SqlDataReader = _
                selectPropRequest.ExecuteReader
                While selectPropReader.Read
                    CType(objectMask.GetProperty(selectPropReader( _
                      "propertyName")), _
                      clsPropertyMask).PropertyNameUserFriendly = _
                      selectPropReader("propertyNameUserfriendly")
                    CType(objectMask.GetProperty(selectPropReader( _
                    "propertyName")), clsPropertyMask).ControlName = _
                    selectPropReader("controlName")
                    CType(objectMask.GetProperty(selectPropReader( _
                    "propertyName")), clsPropertyMask).ControlType = _
                    selectPropReader("controlType")
                    CType(objectMask.GetProperty(selectPropReader( _
                    "propertyName")), clsPropertyMask).DefaultValue = _
                    selectPropReader("defaultValue")
                    CType(objectMask.GetProperty(selectPropReader( _
                    "propertyName")), clsPropertyMask).ReqNotEmpty = _
                    selectPropReader("reqNotEmpty")
                    CType(objectMask.GetProperty(selectPropReader( _
                    "propertyName")), clsPropertyMask).ReqEmail = _
                    selectPropReader("reqEmail")
                    CType(objectMask.GetProperty(selectPropReader( _
                    "propertyName")), clsPropertyMask).IsIdentityMember = _
                    selectPropReader("isIdentityMember")
                    CType(objectMask.GetProperty(selectPropReader( _
                    "propertyName")), clsPropertyMask).IsPK = selectPropReader( _
                    "isPk")
                End While
                connection2.Close()
                ' ObjektMaske der Collection hinzufügen
                _objectMaskCollection.Add(objectMask, selectReader( _
                  "objectName"))
            End While
            connection1.Close()
        Catch
            connection1.Close()
        End Try
 
        ' 2. Fehlende leer initialisieren
        Dim regCol As Object
        For Each regCol In trainingsmanager.ActiveUpdate.registredCollections()
            Dim collectionTypeName As System.Reflection.PropertyInfo
            collectionTypeName = regCol.GetType.GetProperty( _
              "CollectionTypeName")
            Dim regClsName = collectionTypeName.GetValue(regCol, New Object() _
            {})
            'Neue Objektmaske hinzufügen
            Dim objectMask As New clsObjectMask(regClsName)
            ' ObjektMaske der Collection hinzufügen
            Try
                _objectMaskCollection.Add(objectMask, regClsName)
            Catch
 
            End Try
        Next
 
    End Sub
 
    Public ReadOnly Property NoOfObjectMasks() As Integer
        Get
            Return _objectMaskCollection.Count
        End Get
    End Property
 
    Public ReadOnly Property ObjectMaskCollection() As Collection
        Get
            Return _objectMaskCollection
        End Get
    End Property
 
    Public Function GetObjectMask(ByVal myKey As String) As clsObjectMask
        Try
            Return _objectMaskCollection(myKey)
        Catch
            Return Nothing
        End Try
    End Function
 
    Public Function Clone() As clsObjectMaskCollection
        Dim BinFormatter As New _
          System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
        Dim memStream As New System.IO.MemoryStream()
        BinFormatter.Serialize(memStream, Me)
        memStream.Position = 0
        Return CType(BinFormatter.Deserialize(memStream), _
          clsObjectMaskCollection)
    End Function
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Objekte klonen1.024lkatsch16.09.04 13:48
Re: Objekte klonen596spike2416.09.04 14:09
Re: Objekte klonen654WaldiMaywood16.09.04 14:15
Re: Objekte klonen619leth16.09.04 14:20
Re: Objekte klonen629ModeratorFZelle16.09.04 14:28
Re: Objekte klonen663lkatsch16.09.04 14:41
Re: Objekte klonen646WaldiMaywood16.09.04 15:07
Re: Objekte klonen775lkatsch16.09.04 18:23
Re: Objekte klonen610WaldiMaywood16.09.04 18:27
Re: Objekte klonen622lkatsch16.09.04 18:40
Re: Objekte klonen618WaldiMaywood16.09.04 19:15
Re: Objekte klonen615lkatsch16.09.04 19:22
Re: Objekte klonen651WaldiMaywood16.09.04 19:38
Re: Objekte klonen651lkatsch16.09.04 18:40

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel