20. april 2006 - 14:28Der er
10 kommentarer og 1 løsning
MySQL hvordan gør man?
Jeg skal til at lave et program, der skal kunne skrive og hente data fra en MySQL-database. programmet skal helst kunne virke på alle computer uden der skal installeres nogle andre programmer.
Problemmet er bare jeg ved ikke hvordan man connecter til MySQL i VB.NET, håber nogle kan hjælpe :P
Namespace TL2010 Public Module Module1 '-- create a connection string Dim cConnString As String Dim oConn As New MySqlClient.MySqlConnection() Dim oCmd As New MySqlClient.MySqlCommand() Public Const Cn_G = "Database=dbNavn; Data Source=localhost; User Id=Brugernavn; Password=Adgangskode"
Public Sub MySqlGemTæller(ByVal sSidenavn As String, ByVal lBesøgende As Integer) cConnString = Cn_G '-- create a connection object and specify the conn string oConn.ConnectionString = cConnString oConn.Open()
'-- create a command object Dim oCmd As New MySqlClient.MySqlCommand() oCmd.CommandType = CommandType.Text
Dim con As MySqlConnection = New MySqlConnection ("Database=Test;Data So urce=localhost;User Id=;Password=") con.Open Dim sel As MySqlCommand = New MySqlCommand ("SELECT * FROM T1", con) Dim rdr As MySqlDataReader = sel.ExecuteReader While rdr.Read Dim f1 As Integer = rdr(0) Dim f2 As String = rdr(1) ' brug f1 og f2 End While rdr.Close con.Close
du skal hente MySQL Connector for .NET
der skal ikke installeres noget paa andre computere MySql.Data.dll skal bare kopieres sammen med din EXE
Hej Arne, jeg ved godt at nu begynder jeg at stille et spørgsmål inden i det eksisterende, men det har dog noget med ovenstående at gøre: Jeg har forsøgt at anvende MySQL i stedet for ByteFX, men den returnerer ikke med nogen poster i nedenstående kode. Switcher jeg tilbage til ByteFX så kommmer det korrekte resultat på 153. Kan man ikke anvende den samme kode, eller er der lidt forskel i syntaksen. Har også konverteret web-applikationen fra vs.net 2002 til 2005, og fået den til at køre under .net v2.0, men den samme fejl optræder også her når MySQL anvendes.
Her er koden som blot henter et felt fra Mysql db:
Private Function MySQLHentTæller(ByVal sSidenavn As String) As Integer '-- create a connection string Dim cConnString As String MySQLHentTæller = 0 Try cConnString = Cn_G '-- create a connection object and specify the conn string Dim oConn As New MySqlClient.MySqlConnection() oConn.ConnectionString = cConnString oConn.Open()
'-- create a command object Dim oCmd As New MySqlClient.MySqlCommand() oCmd.CommandType = Data.CommandType.Text oCmd.CommandText = "Select Besøgende from Sidetæller " oCmd.CommandText += "where Sidenavn = @Sidenavn" '-- specify the parameter values oCmd.Parameters.Add("@Sidenavn", MySqlClient.MySqlDbType.VarChar, 45).Value = sSidenavn
oCmd.Connection = oConn Dim myReader As MySqlDataReader myReader = oCmd.ExecuteReader() ' Always call Read before accessing data. While myReader.Read() MySQLHentTæller = (myReader.GetInt32(0)) End While ' always call Close when done reading. myReader.Close() oConn.Close() Catch ex As Exception 'Her kommer den aldrig ved debug på lokal PC uanset om det er ByteFX eller MySQL debug.print ex.exception End Try MySQLHentTæller = MySQLHentTæller + 1 End Function
@ virkede i ByteFX men de lavede det om til ? i en af 1.0x versionerne efter den gik over til MySQL
ikke specielt pænt gjordt at ændre sådan noget
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.