Hallo Leute ich arbeite derzeit an einem Projekt mit SQL verbindung und habe daher begonnen eine Klasse mit SQL Befhlen zu schreiben. Sie erleichtert das Arbeiten für nichtprofis in SQL und dient zu verkleinerung des Quellcodes. Da dies meine erste Klasse ist, ist sie nochnicht 100% vollständig und wird noch bearbeitet. Allerdings stelle ich den bisjetzt benutzbaren Teil hier Public.
Bitte keine Posts mit: "Unnötig", "Sinnlos" etc. Wenn ihr sowas nicht braucht dann ist es so für alle anderen Kommentare mit neuen Ideen oder sonsitges würde mich freuen
Klasse:
Imports:
Spoiler anzeigen
Ihr könnt alle funktionen mit sql.FUNKTION_ sehen und sie werden sich selber erklären.
Es kommen noch viele Futures und addons
Viel Spaß
// Klassen fehler behoben + neue Funkionen
Bitte keine Posts mit: "Unnötig", "Sinnlos" etc. Wenn ihr sowas nicht braucht dann ist es so für alle anderen Kommentare mit neuen Ideen oder sonsitges würde mich freuen
Klasse:
Imports:
VB.NET-Quellcode
- Public Class Isql
- #Region "Definitionen"
- 'MySQL Klasse für Daten
- Dim con = New SqlConnection
- Dim cmd As New SqlCommand
- #End Region
- 'Jede Funktion mit einem Try ausführen um Connection probleme oder eingabe fehler vorzubeugen!
- ' Connection aufbauen
- Public Sub FUNKTION_Verbinden()
- con.ConnectionString = My.Settings.connection ' In My.Settings neuen String erstellen name: connection und dort den COnnectionstring angeben
- If con.State = Data.ConnectionState.Open Then
- ElseIf con.State = Data.ConnectionState.Closed Then
- con.open()
- cmd.Connection = CType(con, SqlConnection)
- Else
- MsgBox("Verbindung zur Datenbank fehlgeschlagen!")
- End If
- End Sub
- 'Connection schließen
- Public Sub FUNKTION_Trennen()
- If con.State = Data.ConnectionState.Open Then
- con.Close()
- ElseIf con.State = Data.ConnectionState.Closed Then
- Else
- MsgBox("Fehler beim schließen der Verbindung! Bitte überprüfen sie alle Vorgänge!")
- End If
- End Sub
- ' In Datenbank abfragen machen
- ' eineSpalteAbfrageString( Tabelle [string], Spalte [string], AbfrageSpalte [string], Abfragewert [string] )
- Public Function FUNKTION_EineSpalteAbfrageString(ByVal Tabelle As String, ByVal Spalte As String, ByVal WoSpalte As String, ByVal SpalteIst_string As String) As String
- cmd.CommandText = "SELECT " & Spalte & " as meinergebnis FROM " & Tabelle & " WHERE " & WoSpalte & " = '" & SpalteIst_string & "'"
- Dim myreader = cmd.ExecuteReader
- Dim ergebnis As String = "Kein Ergebnis"
- While myreader.Read
- ergebnis = CStr(myreader("meinergebnis"))
- End While
- myreader.Close()
- Return ergebnis.ToString
- End Function
- ' In Datenbank abfragen machen
- ' eineSpalteAbfrageInteger( Tabelle [string], Spalte [string], AbfrageSpalte [string], Abfragewert [Integer]
- Public Function FUNKTION_EineSpalteAbfrageInteger(ByVal Tabelle As String, ByVal Spalte As String, ByVal WoSpalte As String, ByVal SpalteIst_integer As String) As Integer
- cmd.CommandText = "SELECT " & Spalte & " as meinergebnis FROM " & Tabelle & " WHERE " & WoSpalte & " = " & SpalteIst_integer
- Dim myreader = cmd.ExecuteReader
- Dim ergebnis As Integer = 0
- While myreader.Read
- ergebnis = CInt(myreader("meinergebnis"))
- End While
- myreader.Close()
- Return ergebnis
- End Function
- ' In Datenbank Zeile löschen
- ' eineSpalteLöschenStringSuche( Tabelle [string], Spalte [string], Abfragewert [string])
- Public Function FUNKTION_EineSpalteLöschenStringSuche(ByVal Tabelle As String, ByVal Spalte As String, ByVal SpalteIst_string As String) As Boolean
- cmd.CommandText = "DELETE FROM " & Tabelle & " WHERE " & Spalte & " = '" & SpalteIst_string & "'"
- Return CBool(cmd.ExecuteNonQuery())
- End Function
- ' In Datenbank Zeile löschen
- ' eineSpalteLöschenIntegerSuche( Tabelle [string], Spalte [string], Abfragewert [string])
- Public Function FUNKTION_EineSpalteLöschenIntegerSuche(ByVal Tabelle As String, ByVal Spalte As String, ByVal SpalteIst_Integer As String) As Boolean
- cmd.CommandText = "DELETE FROM " & Tabelle & " WHERE " & Spalte & " = " & SpalteIst_Integer
- Return CBool(cmd.ExecuteNonQuery())
- End Function
- 'In Datenbank Befehl ausführen
- ' ausführen( Querry [string] )
- Public Function FUNKTION_Ausführen(ByVal querry As String) As Boolean
- cmd.CommandText = querry
- Return CBool(cmd.ExecuteNonQuery())
- End Function
- 'In Datenbank String updaten
- ' updateString(Tabelle [string], diezuänderndespalte [string], neuerwert [string], inwelcherspalter [string], welcherInhaltgesucht [string])
- Public Function FUNKTION_UpdateString(ByVal Tabelle As String, ByVal SpalteFeldZuÄndern As String, ByVal neuerwert_string As String, ByVal WhereSpalte As String, ByVal Inhalt_string As String) As Boolean
- cmd.CommandText = "UPDATE " & Tabelle & " SET " & SpalteFeldZuÄndern & " = '" & neuerwert_string & "' WHERE " & WhereSpalte & " = '" & Inhalt_string & "'"
- Return CBool(cmd.ExecuteNonQuery())
- End Function
- 'In Datenbank Integer updaten
- ' updateInteger(Tabelle [string], diezuänderndespalte [string], neuerwert [string], inwelcherspalter [string], welcherInhaltgesucht [string])
- Public Function FUNKTION_UpdateInteger(ByVal Tabelle As String, ByVal SpalteFeldZuÄndern As String, ByVal neuerwert_Integer As String, ByVal WhereSpalte As String, ByVal Inhalt_Integer As String) As Boolean
- cmd.CommandText = "UPDATE " & Tabelle & " SET " & SpalteFeldZuÄndern & " = " & neuerwert_Integer & " WHERE " & WhereSpalte & " = " & Inhalt_Integer & ""
- Return CBool(cmd.ExecuteNonQuery())
- End Function
- ' In Datenbank mehrzeilen Ausgeben als Listof strings | Strings
- ' mehrzeilerausgeben(Tabelle [string], SpaltezuAusgabe[string](, WoSpalte[string], WoIst_String[String]))
- ' ACHTUNG GIBT EINE LISTE VON STRINGS ZURÜCK!
- Public Function FUNKTION_Mehrzeilerausgeben_String(ByVal Tabelle As String, ByVal SpaltezuAusgabe As String, Optional ByVal WoSpalte As String = "", Optional ByVal WoIst_String As String = "") As List(Of String)
- 'Definitionen
- Dim fundListe As New List(Of String)
- ' Check ob OK
- If WoSpalte = "" Or WoSpalte = " " Then
- If WoIst_String = "" Or WoIst_String = " " Then
- cmd.CommandText = "SELECT " & SpaltezuAusgabe & " as ergebnis FROM " & Tabelle
- ' In Liste eintragen
- Dim myreader = cmd.ExecuteReader
- While myreader.Read
- fundListe.Add(myreader("ergebnis"))
- End While
- myreader.Close() ' Reader schließen
- End If
- Else
- cmd.CommandText = "SELECT " & SpaltezuAusgabe & " as ergebnis FROM " & Tabelle & " WHERE " & WoSpalte & " = '" & WoIst_String & "'"
- ' In Liste eintragen
- Dim myreader = cmd.ExecuteReader
- While myreader.Read
- fundListe.Add(myreader("ergebnis"))
- End While
- myreader.Close() ' Reader schließen
- End If
- ' Was er zurück gibt ( Gibt Liste von Ergebnissen zurück )
- Return fundListe
- End Function
- ' In Datenbank mehrzeilen Ausgeben als Listof Integer | Integer
- ' mehrzeilerausgeben(Tabelle [string], SpaltezuAusgabe[string](, WoSpalte[string], WoIst_String[String]))
- ' ACHTUNG GIBT EINE LISTE VON INTEGERN ZURÜCK!
- Public Function FUNKTION_Mehrzeilerausgeben_Integer(ByVal Tabelle As String, ByVal SpaltezuAusgabe As String, Optional ByVal WoSpalte As String = "", Optional ByVal WoIst_Integer As String = "") As List(Of Integer)
- 'Definitionen
- Dim fundListe As New List(Of Integer)
- ' Check ob OK
- If WoSpalte = "" Or WoSpalte = " " Then
- If WoIst_Integer = "" Or WoIst_Integer = " " Then
- cmd.CommandText = "SELECT " & SpaltezuAusgabe & " as ergebnis FROM " & Tabelle
- ' In Liste eintragen
- Dim myreader = cmd.ExecuteReader
- While myreader.Read
- fundListe.Add(myreader("ergebnis"))
- End While
- myreader.Close() ' Reader schließen
- End If
- Else
- cmd.CommandText = "SELECT " & SpaltezuAusgabe & " as ergebnis FROM " & Tabelle & " WHERE " & WoSpalte & " = " & WoIst_Integer
- ' In Liste eintragen
- Dim myreader = cmd.ExecuteReader
- While myreader.Read
- fundListe.Add(CInt(myreader("ergebnis")))
- End While
- myreader.Close() ' Reader schließen
- End If
- ' Was er zurück gibt
- Return fundListe
- End Function
- ' In Tabelle Zeile(n) einfügen
- ' FUNKTION_EinfügenEineZeile_String( Tabelle[string], Item1[string](, Item2[string, item3[string], item4[string], item5[string]))
- Public Function FUNKTION_EinfügenEineZeile_String(ByVal Tabelle As String, ByVal Item1 As String, Optional ByVal Item2 As String = "", Optional ByVal item3 As String = "", Optional ByVal item4 As String = "", Optional ByVal item5 As String = "") As Boolean
- If Item2 = "" Or Item2 = " " Then
- cmd.CommandText = "INSERT INTO " & Tabelle & " VALUES ( '" & Item1 & "' )"
- Else
- If item3 = "" Or item3 = " " Then
- ' HIER ITEM 2 EINFÜGEN
- cmd.CommandText = "INSERT INTO " & Tabelle & " VALUES ( '" & Item1 & "', '" & Item2 & "' )"
- Else
- If item4 = "" Or item4 = " " Then
- 'Hier ITEM 3 EINFÜGEN
- cmd.CommandText = "INSERT INTO " & Tabelle & " VALUES ( '" & Item1 & "', '" & Item2 & "', '" & item3 & "' )"
- Else
- If item5 = "" Or item5 = " " Then
- 'HIER ITEM 4 EINFÜGEN
- cmd.CommandText = "INSERT INTO " & Tabelle & " VALUES ( '" & Item1 & "', '" & Item2 & "', '" & item3 & "', '" & item4 & "' )"
- Else
- 'HIER ITEM 5 EINFÜGEN
- cmd.CommandText = "INSERT INTO " & Tabelle & " VALUES ( '" & Item1 & "', '" & Item2 & "', '" & item3 & "', '" & item4 & "', '" & item5 & "' )"
- End If
- End If
- End If
- End If
- Return CBool(cmd.ExecuteNonQuery()) ' Gibt wieder ob erfolgreich oder fehlgeschlagen!
- End Function
- 'Tabelle löschen
- ' FUNKTION_TabelleLöschen(Tabelle[string]
- Public Function FUNKTION_TabelleLöschen(ByVal Tabelle As String) As Boolean
- cmd.CommandText = "DROP TABLE " & Tabelle & " "
- Return CBool(cmd.ExecuteNonQuery())
- End Function
- ' Mehrere Befhele ausführen ( In Reihenfolge )
- ' Es wird eine Liste aus strings mit QWuerrys benötigt
- ' Man bekommt einen Bericht zurück
- Public Function FUNKTION_ListeVonBefehlenAusführen(ByVal ListeMitQuerrys As List(Of String)) As String
- 'Definitionen
- Dim qcounter As Integer = 0
- Dim succescounter As Integer = 0
- Dim failcounter As Integer = 0
- Dim cmdstatus As Boolean = False
- For Each querry In ListeMitQuerrys
- qcounter += 1 ' Für jeden Querry Counter + 1
- cmd.CommandText = querry
- cmdstatus = CBool(cmd.ExecuteNonQuery()) ' Querry ausführen und speichern ob erfolgreich oder nicht
- If cmdstatus = True Then
- succescounter += 1 ' Neuer erfolgreicher Querry
- Else
- failcounter += 1 ' Neuer fehlerhafter Querry
- End If
- Next
- ' Bericht schreiben und abgeben
- Dim Bericht As String = " Von " & qcounter.ToString & " Befehlen konnten " & succescounter.ToString & " Befehle ausgeführt werden und " & failcounter.ToString & " nicht ausgeführt werden!"
- Return Bericht
- End Function
- End Class
Ihr könnt alle funktionen mit sql.FUNKTION_ sehen und sie werden sich selber erklären.
Es kommen noch viele Futures und addons
Viel Spaß
// Klassen fehler behoben + neue Funkionen
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Schlammy“ ()