Posts
337
Comments
125
Trackbacks
5
April 2009 Entries
Einzelne Felder einer DataRow eines DataSets ändern

Für's Archiv:
Einzelne Felder einer DataRow eines DataSets ändern:

DS.Tables(0).Select("SpaltennameID=" & WERT)(0)("SpalteUpdate") = "NeuerWert"

DS.AcceptChanges()

 

posted @ Tuesday, April 28, 2009 5:29 AM | Feedback (0)
Kleine Funktion SelectDistinct

Hier eine kleine Funktion SelectDistinct für einen Distinct auf eine Spalte eines DataTables. Diese gibt eine DataTable mit einer Spalte zurück, welche die Werte, die mehrfach auftreten nur einmal zurückgibt.

    Public Function SelectDistinct(ByVal TableName As String, ByVal SourceTable As DataTable, ByVal FieldName As String) As DataTable

        Dim dt As New DataTable(TableName)

        dt.Columns.Add(FieldName, SourceTable.Columns(FieldName).DataType)

        Dim LastValue As Object = Nothing

        Dim dr As DataRow

        For Each dr In SourceTable.Select("", FieldName)

            If LastValue Is Nothing Or Not ColumnEqual(LastValue, dr(FieldName)) Then

                LastValue = dr(FieldName)

                If Convert.ToString(LastValue) = "" Then

                    LastValue = Nothing

                End If

                dt.Rows.Add(New Object() {LastValue})

            End If

        Next dr

        If Not (dsTemp Is Nothing) Then

            dsTemp.Tables.Add(dt)

        End If

        Return dt

    End Function

Das Ergebnis kann man anschließend einem DataView zuweisen, mit DataView.Sort sortieren und z.B. in einer DropDowm-Liste ausgeben

posted @ Wednesday, April 15, 2009 5:27 AM | Feedback (0)
Praktische Erweiterung für Visual Studio: Class Builder Wizard

Die Erweiterung "Class Builder Wizzard" für Visual Studio errmöglicht es Klassen für einzelne Datenbank-Tabellen zu generieren und diese als data layer in eigenen Projekt zu verwenden. Nach der Installation steht in Visual Studio eine neue Vorlage (Class Builder Wizzard) zur Verfügung:

classBuilder1

 

Nach Auswahl der Vorlage lässt sich eine Verbindung zur Datenbank aufbauen und die Datenbank und die zu benutzenden Tabellen auswählen. Der Wizzard erstellt dann automatisch pro Tabelle 3 Dateien, in meinem Beispiel für die Tabelle Personen:

classBuilder2

Die Datei Personen.sql enthält SQL-Befehle welche stored procedures im SQL-Server anlegen und dort ausgeführt werden müssen, damit die Klassen die Befehle wie Select, Insert, Update und Delete ausführen können.

Die Datei Personen.cs repräsentiert die Tabelle Personen und enthält als Eigenschaften die einzelnen Felder. Die Datei PersonenDataAccess schließlich enthält enthält die Methoden für den Aufbau der Datenbank-Verbindungen sowie das Absetzen der Datenbankoperationen wie Select, Delete etc.

Schließlich sollte die Datenbankverbindung in der Date App.Config gespeichert werden, so dass mit dem ConfiguationManager darauf zugegriffen werden kann.

 

Links:
http://www.codeplex.com/ClassBuilderWizard
http://www.codeplex.com/ClassBuilderWizard/Wiki/View.aspx?title=Screenshots&referringTitle=Home

posted @ Friday, April 03, 2009 5:03 PM | Feedback (0)