[VB.net/MySQL] Probleem met connecteren

Pagina: 1
Acties:

  • Squall-sX
  • Registratie: April 2002
  • Laatst online: 19-08 11:11
Ik ben aan het proberen van met VB.net aan mijn mysql servertje te geraken.
Ik ben eerst een uur of twee-drie met MySQLDriverCS bezig geweest. Die kon
connecteren. Maar zodra ik probeerde te fillen kreeg ik problemen.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim conVidz As MySQLDriverCS.MySQLConnection
Dim conString As MySQLDriverCS.MySQLConnectionString
Dim rstFilms As DataSet
Dim daVidz As MySQLDriverCS.MySQLDataAdapter
Dim comFilms As MySQLDriverCS.MySQLCommand
Dim reader As MySQLDriverCS.MySQLDataReader

conString = New MySQLDriverCS.MySQLConnectionString("localhost", "vidz", "PHP", "")
conVidz = New MySQLDriverCS.MySQLConnection(conString.AsString)
conVidz.Open()

comFilms = New MySQLDriverCS.MySQLCommand("select * from films", conVidz)

daVidz = New MySQLDriverCS.MySQLDataAdapter()
rstFilms = New DataSet()
daVidz.SelectCommand = comFilms
daVidz.Fill(rstFilms)

DataGrid1.DataSource() = rstFilms
DataGrid1.Show()


Dit resulteert in deze fout bij de fill
http://users.pandora.be/Squal/VBfoutMySQLdriverCS.jpg

Ik heb al geprobeerd een datatable te gebruiken ipv een dataset en ik heb een
reader gebruikt (deze werkte, maar daar kon ik de grid niet automatisch mee
opvullen, wat met een set en table wel lukt), maar altijd kreeg ik deze fout.
Ah ja, ik heb ook eens het fillschema proberen aan te passen, maar dit maakt geen
verschil.


Dan ben ik maar op zoek gegaan naar een andere tussenschakel en heb ik ByteFX
gevonden, maar deze wil nog niet eens een connectie maken. Waarom snap ik
niet. Ik ben er honder procent zeker van dat de connectie string juist is, ik heb er
ook een message box ingezet die eerst user, pass, server en db laten zien die de
connectie gebruikt, en deze kloppen met de gegevens in de connectiestring. Dus
het zou moeten werken. Maar toch niet dus.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Dim strConnection As String
Dim ConMySQL As MySqlConnection
Dim MyDataAdpt As MySqlDataAdapter = New MySqlDataAdapter()
Dim MyDataSet As DataSet = New DataSet()


strConnection = "server=localhost;database=vidz;user=PHP;pwd="

Try
     ConMySQL = New MySqlConnection(strConnection)
      MsgBox(ConMySQL.User & " " & ConMySQL.Password & " " & ConMySQL.DataSource & " " & ConMySQL.Database)
       ConMySQL.Open()

       MyDataAdpt.SelectCommand = New MySqlCommand("SELECT * FROM films", ConMySQL)

       MyDataAdpt.FillSchema(MyDataSet, SchemaType.Mapped)
       MyDataAdpt.Fill(MyDataSet)

       DataGrid1.DataSource = MyDataSet
       DataGrid1.DataMember = "Table"

Catch Erro As MySqlException

       MsgBox(Erro.ToString, MsgBoxStyle.Critical)

End Try


Dit is de fout die ik krijg op de open (hier zit trouwens een exceptionhandler in
omdat deze over een excetionklas beschikt, de eerste niet).
http://users.pandora.be/Squal/VBfoutByteFX.jpg

Als iemand de fout ziet bij ook maar één van deze twee dingen, zou je mij dan aub
kunnen helpen?


PS: werkt de searchfunctie bij niemand meer of alleen bij mij?

[ Voor 14% gewijzigd door Squall-sX op 26-10-2003 15:23 ]


  • Squall-sX
  • Registratie: April 2002
  • Laatst online: 19-08 11:11
Ik heb nog een andere API gevonden, eentje van corelab. En deze werkt wel.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dim conVidz As CoreLab.MySql.MySqlConnection
Dim daVidz As CoreLab.MySql.MySqlDataAdapter
Dim dsVidz As DataSet
Dim comvidz As CoreLab.MySql.MySqlCommand


conVidz = New CoreLab.MySql.MySqlConnection()
conVidz.Database = "vidz"
conVidz.UserId = "PHP"
conVidz.Host = "localhost"
conVidz.Open()

comvidz = New CoreLab.MySql.MySqlCommand("select * from films", conVidz)
daVidz = New CoreLab.MySql.MySqlDataAdapter(comvidz)
dsVidz = New DataSet("films")
daVidz.Fill(dsVidz)

DataGrid1.DataSource = dsVidz
DataGrid1.Show()


comvidz.Dispose()
dsVidz.Dispose()
daVidz.Dispose()
conVidz.Close()



Maar ik zou toch graag willen weten wat het probleem was met die eerste twee.

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
Op welke regel kreeg je die fout?

https://fgheysels.github.io/


  • Squall-sX
  • Registratie: April 2002
  • Laatst online: 19-08 11:11
Bij de MysqlDriverCS (eerste stuk code en fout) kreeg ik de fout bij de fill op regel 17.
Bij ByteFX (tweede stuk code en fout) kreeg ik em op regel 12 bij het openen van de connectie.

Bij Corelab krijg ik geen enkel fout dank god. Ik ga me daar nu bij bezig houden.
Maar die foutjes bij de ander 2 blijven knagen, dus een antwoord of oplossing zou
leuk zijn.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Het zou me niets verbazen als het een bug in de software is; afaik heeft MS nog geen standaard drivers voor MySQL voor .Net ontwikkeld. Enkele andere partijen wel, maar voor zover ik weet zit alles nog steeds in de testfase. Het kan dan ook voorkomen dat hier wel bugs in zitten; bijvoorbeeld die jij hebt meegemaakt.

Dit zou ook verklaren waarom een andere driver het wel doet.

[ Voor 26% gewijzigd door gorgi_19 op 27-10-2003 01:11 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo