DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: VB.NET | Thema: AW: AW: Klassen miteineder "Verknüpfen" | Von: M Merlin ( 13.07.2007 22:26)

Danke für deine Antwort....
Also, ich bringe mal nen Beispiel. Mein Problem liegt im GetFromDB. Da Stimmt die Überladung nicht... Weil ich das mit dem ADD in der Klasse Stoffe nicht hinbekomme...
Hier mein Beispiel:

Public Class Glas

#Region "StandardProperties"
Private mvarID As Long
Private mvarName As String

Public Property ID() As Long
Get
Return mvarID
End Get
Set(ByVal Value As Long)
mvarID = Value
End Set
End Property

Public Property Name() As String
Get
Return mvarName
End Get
Set(ByVal Value As String)
mvarName = Value
End Set
End Property

#End Region

End Class


Public Class Glasses
Inherits CollectionBase

Public Function Add(ByVal g As Glas) As Glas
List.Add(g)
Return g
End Function

Public Function Add(ByVal gID As Long, ByVal gName As String) As Glas
Dim g As New Glas

With g
.ID = gID
.Name = gName
End With
List.Add(g)
Return g
End Function

Default Public ReadOnly Property Item(ByVal Index As Integer) As Glas
'Muss gesetzt werden um in der Form die Liste per Item zu füllen
Get
Return CType(List.Item(Index), Glas)
End Get
End Property

End Class


Public Class Stoff

#Region "StandardProperties"
Private mvarIDS As Long
Private mvarNameS As String

Public Property IDS() As Long
Get
Return mvarIDS
End Get
Set(ByVal Value As Long)
mvarIDS = Value
End Set
End Property

Public Property NameS() As String
Get
Return mvarNameS
End Get
Set(ByVal Value As String)
mvarNameS = Value
End Set
End Property

#End Region

End Class


Public Class Stoffe
Inherits CollectionBase

Public Function Add(ByVal s As Stoff) As Stoff
List.Add(s)
Return s
End Function

Public Function Add(ByVal sID As Long, ByVal sName As String) As Stoff
Dim s As New Stoff

With s
.IDS = sID
.NameS = sName
End With
List.Add(s)
Return s
End Function

Default Public ReadOnly Property Item(ByVal Index As Integer) As Stoff
'Muss gesetzt werden um in der Form die Liste per Item zu füllen
Get
Return CType(List.Item(Index), Stoff)
End Get
End Property

Public Function GetFromDB(ByVal CommandString As String, ByRef errMsg As String) As Boolean
Dim cnn As New SqlConnection(PstrConnString)

If OpenDB(cnn, errMsg, 3) = False Then
errMsg = "Datenbankfehler: " & vbCrLf & errMsg
Return False
End If

Try
If cnn.State = ConnectionState.Closed Then cnn.Open()
Try
Dim cmd As New SqlCommand(CommandString, cnn)
Dim Reader As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
'CloseConnection -> mit dem Befehl Reader.Close wird gleich die Connection geschlossen

Do While Reader.Read
Add(CLng(Reader("IDG").ToString), _
IIf(IsDBNull(Reader("mNachGlas")), "", Reader("mNachGlas")).ToString, _
IIf(IsDBNull(Reader("miDS")), "", Reader("miDS")).ToString, _
IIf(IsDBNull(Reader("mNameG")), "", Reader("mNameG")).ToString)

Loop
Reader.Close()
cnn.Dispose()
Catch ex As SqlException
If cnn.State = ConnectionState.Open Then cnn.Close()
cnn.Dispose()
errMsg = ex.Message
Return False
End Try
Catch ex As SqlException
cnn.Dispose()
errMsg = "Kein Datenbankzugriff möglich !"
Return False
End Try
Return True
End Function

End Class

Hadu einen Ansatz ne Idee? Oder mache ich da was grundsätzlich falsch...

Schon mal Danke für deine hilfe....




Betreff Von Datum
AW: AW: AW: Klassen miteineder "Verknüpfen"
Ich würd furchtbar viel anders anstellen:<br><br>Benutze Basisklassen und Benutze Interfaces.<br><br>Public Class MyObjectBase<br><br>End Class<br><br>Public Class MyListBase(of T)<br> Inherits List(of T)<br>End...
Bernhard Grojer 13.07.2007 23:03
AW: AW: AW: AW: Klassen miteineder "Verknüpfen"
Hallo Bernhard,<br>ich muss gestehen ich habe noch nie mit Interfaces gearbeitet. Mir ist also die Funktionsweise und die Syntax nicht geläufig....<br>Ich komme also mit deinem Tipp nicht so recht...
M Merlin 16.07.2007 08:39

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Advanced Developers Conference vom 14.-15. Februar 2011

© Copyright 2003 ppedv AG