ik ben bezig met mijn applicatie verbinding te laten maken met mijn datebase. Maar nu heb ik het probleem dat hij alle gebruikersweergeeft inplaats van weer te geven hoeveel gebruikers er zijn (mysql_num_rows)
Maar hoe voeg ik de toepassing mysql_num_rows in VB.Net zodat hij alleen het aantal geregistreerde gebruikers weergeeft?
Dim sqlConn As New MySqlConnection("Database=test; Data Source=localhost; User Id='root'; Password=''")
Dim query As String = "SELECT COUNT(*) FROM leden"
Dim resultaat As String = ""
Dim myCommando As MySqlCommand = New MySqlCommand(query, sqlConn)
Dim sqlReader As MySqlDataReader
Dim sqlConn AsNew MySqlConnection("Database=test; Data Source=localhost; User Id='root'; Password=''")
Dim query AsString="SELECT COUNT(*) FROM leden"
Dim resultaat AsString=""
Dim myCommando As MySqlCommand =New MySqlCommand(query, sqlConn)
Dim sqlReader As MySqlDataReader
En wat doe ik fout? de code hierboven wel.. maar zodra ik hierin verander niet meer :x
Dim sqlConn As New MySqlConnection("Database=copa_database; Data Source=localhost; User Id='root'; Password=''")
Dim query As String = "SELECT id, login, level, info, showonline, activated FROM [users]"
Dim sqlConn AsNew MySqlConnection("Database=copa_database; Data Source=localhost; User Id='root'; Password=''")
Dim query AsString="SELECT id, login, level, info, showonline, activated FROM [users]"
Dim myConn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\...\database.mdb;")
Dim myCommand As New OleDb.OleDbCommand("SELECT COUNT(voornaam) FROM klanten", myConn)
Dim myReader As OleDb.OleDbDataReader
Try
myConn.Open()
myReader = myCommand.ExecuteReader()
MessageBox.Show(myReader.GetValue(0).ToString())
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
myConn.Close()
End Try
Dim myConn AsNew OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\...\database.mdb;")
Dim myCommand AsNew OleDb.OleDbCommand("SELECT COUNT(voornaam) FROM klanten", myConn)
En wat moet jij hebben? Als het MS SQL Server is moet je enkel je ConnectionString aanpassen en in plaats van OleDb gebruik je dan System.Data.SqlClient. En dan doe je SqlConnection, SqlCommand, Sql...
Ken zelf niets van VB.NET, maar is het niet mogelijk een variabele aan te maken met als waarde 0 en voor elk record in de database deze variabele met 1 te verhogen?
Wel redelijk omslachtig, maar zoals ik al zei: VB.NET is niet mijn sterkste kant.
Dim sqlConn As New MySqlConnection("Database=----; Data Source=localhost; User Id='----'; Password='----'")
Dim query As String = "SELECT signup,attack,defence,clicks,ster,rank,clan,cash,bank,type,level FROM `[users]` WHERE `activated`=1"
Dim resultaat As String = ""
Dim myCommando As MySqlCommand = New MySqlCommand(query, sqlConn)
Dim sqlReader As MySqlDataReader
Try
sqlConn.Open()
sqlReader = myCommando.ExecuteReader()
While sqlReader.Read()
resultaat += sqlReader.GetValue(0).ToString() + " " + sqlReader.GetString(1) + " " + sqlReader.GetInt32(2).ToString() + Environment.NewLine()
End While
lblUsers.Text = resultaat
sqlReader.Close()
If sqlConn.State = ConnectionState.Open Then
LblServerOF.Text = "Online"
lblGameOF.Text = "Online"
PictureBox1.Visible = True
PictureBox2.Visible = True
End If
Catch x As Exception
LblServerOF.Text = "Offline"
lblGameOF.Text = "Offline"
PictureBox3.Visible = True
PictureBox4.Visible = True
End Try
lblDate.Text = Date.Today.Year()
End Sub
Dim sqlConn AsNew MySqlConnection("Database=----; Data Source=localhost; User Id='----'; Password='----'")
Dim query AsString="SELECT signup,attack,defence,clicks,ster,rank,clan,cash,bank,type,level FROM `[users]` WHERE `activated`=1"
Dim resultaat AsString=""
Dim myCommando As MySqlCommand =New MySqlCommand(query, sqlConn)
Ik ben bezig met een opleiding voor programmeur ja. Ik ben nu ongeveer al 3,5 jaar met .NET bezig (zowel C# als VB.NET), daarmee dat ik er toch wel iets van weet..
Voer de query uit in mysqladmin (zit standaard bij mysql).
Werkt het dan wel dan weet je dat de query klopt en het dus aan jouw code ligt i.p.v. aan de query.
Je selecteert geen kolom/veld, maar een waarde, namelijk COUNT(). Stel dat je in je SELECT-statement het id en de naam selecteert, dan kan je bij het lezen doen: GetValue(0) en dat geeft dan de waarde van het veld id, en GetValue(1) en dat geeft dan de waarde van het veld naam. Je mag de naam invullen, maar in dit geval gaat het om een COUNT()-statement en dan gebruik je gewoon GetValue(0)!