Hallo Zusammen,
folgenden Code benutze ich um auf meinen MySQL Server zu connecten. Für's erste wollte ich nurmal den Namen eines Benutzers auslesen mit dem SELECT Befehl.
Nur das Problem ist die Verbindung etc. passt alles, ich bekomme niergends einen Fehler, jedoch ist
Wenn ich den SQL Query mit einem anderen Datenbanktool ausführe, bekomme ich den gewünschten Namen angezeigt.
Die einzigste Besonderheit wo ich dem Benutzer hinzugefügt hatte, ist das er keine UPDATE, INSERT, DELETE usw. Befehle ausführen kann - sprich der MySQL User besitzt nur "Leserechte".
Muss ich da noch etwas spezielles beim Connection hinzufügen? Oder gibt es eine extra Funktion wo bei
Die DB besitzt mehrere Tables. Der besagte `user` Table besitzt die Columns `id`, `name`, `mail` - ganz simpel zum testen.
Gruß, FireEmerald
folgenden Code benutze ich um auf meinen MySQL Server zu connecten. Für's erste wollte ich nurmal den Namen eines Benutzers auslesen mit dem SELECT Befehl.
Nur das Problem ist die Verbindung etc. passt alles, ich bekomme niergends einen Fehler, jedoch ist
myData.HasRows
immer false - egal wie ich den SQL Query schreibe. (mit `, ohne, mit ', ohne)Wenn ich den SQL Query mit einem anderen Datenbanktool ausführe, bekomme ich den gewünschten Namen angezeigt.
Die einzigste Besonderheit wo ich dem Benutzer hinzugefügt hatte, ist das er keine UPDATE, INSERT, DELETE usw. Befehle ausführen kann - sprich der MySQL User besitzt nur "Leserechte".
Muss ich da noch etwas spezielles beim Connection hinzufügen? Oder gibt es eine extra Funktion wo bei
myData = myCommand.ExecuteReader()
ausgewählt werden muss?VB.NET-Quellcode
- Option Explicit On
- Option Strict On
- Imports MySql.Data.MySqlClient
- Public Class Form1
- Public Sub GetInformations()
- Dim conn As MySqlConnection
- conn = New MySqlConnection
- '// Verbindungsdaten wurden durch Platzhalter ersetzt!
- conn.ConnectionString = "server=serverip;" _
- & "port=custom_port;" _
- & "user id=benutzername;" _
- & "password=passwort;" _
- & "database=datenbankname"
- Try
- conn.Open() ' Verbindung öffnen
- Catch myerror As MySqlException
- MessageBox.Show("Keine Verbindung zur Datenbank : " & myerror.Message.ToString)
- End Try
- Dim myAdapter As New MySqlDataAdapter
- '// Diverse SQL Query "Schreibweisen" wurden bereits ausprobiert, mit/ohne Quotes.
- Dim SQLAbfrage As String = "SELECT name FROM user WHERE id=1"
- Dim myCommand As New MySqlCommand
- myCommand.Connection = conn
- myCommand.CommandText = SQLAbfrage
- myAdapter.SelectCommand = myCommand
- Dim myData As MySqlDataReader
- myData = myCommand.ExecuteReader() ' SQL Abfrage starten
- If myData.HasRows Then ' Wenn die Abfrage Einträge enthält / Ergibt jedesmal False, kp wieso...
- MessageBox.Show("Da ist was...")
- conn.Close()
- conn.Open()
- Else
- MessageBox.Show("Hier gibt es nichts...")
- End If
- End Sub
- End Class
Die DB besitzt mehrere Tables. Der besagte `user` Table besitzt die Columns `id`, `name`, `mail` - ganz simpel zum testen.
Gruß, FireEmerald
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „FireEmerald“ ()