Jump to content

VB.Net + MySQL


Patrijosa
 Share

Recommended Posts

Prezados mais uma vez estou aqui precisando da vossa ajuda...

Mas antes  disso permitam-me enumerar o meu problema:

* Estou a criar um sistema de gestão de ginásio em PHP... Até aqui tudo bem... Resolveu-se colocar catracas na porta do ginásio, permitido somente a entrada de associados devidamente autenticados, ou seja, com a conta regularizada...

O que acontece é que, não tenho como manipular esta catraca com o PHP... pedi o SDK ao fornecedor... só que a documentação está em chinês (tentei o google translator e nada)...

Neste SDK apareceu um exemplo de código em VB.Net 2005, consegui com base neste código enviar comandos para abrir a catraca utilizando uma aplicação que desenvolvi VB.net 2008...

Mas nesta aplicação  contém o botão OK que quando clico a catraca abre.

mas o que pretendo é:

- Colocar um txtBox, onde digito o código do associado e quando clico em OK o mesmo vá buscar n base de dados do mysql pela informação e vê se o mesmo tem a conta regularizada... caso sim, então abre a catraca, caso não não abre....

Como faço esta query em vb.net + mysql?

já consegui fazer a conexão com o mysql utilizando o mysql connector .net.... disponibilizado no site do mysql.

já procurei na google e nada

grato pela atenção

O verdadeiro sábio é um eterno aprendiz!

http://www.patriciodossantos.net
Link to comment
Share on other sites

Tens aqui um exemplo de como usar o mysql connector (tirado do próprio site)

' @sample    : myvb.vb
' @purpose   : Demo sample for ODBC.NET using Connector/ODBC
' @author    : Venu, <myodbc@lists.mysql.com>
'
' (C) Copyright MySQL AB, 1995-2006
'
'

'
' build command
'
' vbc /target:exe
'     /out:myvb.exe
'     /r:Microsoft.Data.Odbc.dll
'     /r:System.dll
'     /r:System.Data.dll
'

Imports Microsoft.Data.Odbc
Imports System

Module myvb
  Sub Main()
    Try

      'Connector/ODBC 3.51 connection string
      Dim MyConString As String = "DRIVER={MySQL ODBC 3.51 Driver};" & _
      "SERVER=localhost;" & _
      "DATABASE=test;" & _
      "UID=venu;" & _
      "PASSWORD=venu;" & _
      "OPTION=3;"

      'Connection
      Dim MyConnection As New OdbcConnection(MyConString)
      MyConnection.Open()

      Console.WriteLine("Connection State::" & MyConnection.State.ToString)

      'Drop
      Console.WriteLine("Dropping table")
      Dim MyCommand As New OdbcCommand()
      MyCommand.Connection = MyConnection
      MyCommand.CommandText = "DROP TABLE IF EXISTS my_vb_net"
      MyCommand.ExecuteNonQuery()

      'Create
      Console.WriteLine("Creating....")
      MyCommand.CommandText = "CREATE TABLE my_vb_net(id int, name varchar(30))"
      MyCommand.ExecuteNonQuery()

      'Insert
      MyCommand.CommandText = "INSERT INTO my_vb_net VALUES(10,'venu')"
      Console.WriteLine("INSERT, Total rows affected:" & _
      MyCommand.ExecuteNonQuery())

      'Insert
      MyCommand.CommandText = "INSERT INTO my_vb_net VALUES(20,'mysql')"
      Console.WriteLine("INSERT, Total rows affected:" & _
      MyCommand.ExecuteNonQuery())

      'Insert
      MyCommand.CommandText = "INSERT INTO my_vb_net VALUES(20,'mysql')"
      Console.WriteLine("INSERT, Total rows affected:" & _
      MyCommand.ExecuteNonQuery())

      'Insert
      MyCommand.CommandText = "INSERT INTO my_vb_net(id) VALUES(30)"
      Console.WriteLine("INSERT, Total rows affected:" & _
                        MyCommand.ExecuteNonQuery())

      'Update
      MyCommand.CommandText = "UPDATE my_vb_net SET id=999 WHERE id=20"
      Console.WriteLine("Update, Total rows affected:" & _
      MyCommand.ExecuteNonQuery())

      'COUNT(*)
      MyCommand.CommandText = "SELECT COUNT(*) as TRows FROM my_vb_net"
      Console.WriteLine("Total Rows:" & MyCommand.ExecuteScalar())

      'Select
      Console.WriteLine("Select * FROM my_vb_net")
      MyCommand.CommandText = "SELECT * FROM my_vb_net"
      Dim MyDataReader As OdbcDataReader
      MyDataReader = MyCommand.ExecuteReader
      While MyDataReader.Read
        If MyDataReader("name") Is DBNull.Value Then
          Console.WriteLine("id = " & _
          CStr(MyDataReader("id")) & "  name = " & _
          "NULL")
        Else
          Console.WriteLine("id = " & _
          CStr(MyDataReader("id")) & "  name = " & _
          CStr(MyDataReader("name")))
        End If
      End While

      'Catch ODBC Exception
    Catch MyOdbcException As OdbcException
      Dim i As Integer
      Console.WriteLine(MyOdbcException.ToString)

      'Catch program exception
    Catch MyException As Exception
      Console.WriteLine(MyException.ToString)
    End Try
  End Sub

Agora tudo que tens a fazer é fazer um query à base de dados e verificar se está regularizada, caso sim, abre a catraca (o que é uma catraca?!)

Knowledge to the masses


Link to comment
Share on other sites

O exemplo colocado acima é com uma ligação por ODBC, se estas a utilizar o Mysql Dot Net Connector 5.x.x

vou deixar-te aqui um exemplo de como conectar ao mysql apartir de vb e fazer uma query simples

 
    Dim conn As New MySqlConnection
    Dim myCommand As New MySqlCommand

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click

        Dim conn As New MySqlConnection
        conn.ConnectionString = "server=127.0.0.1;user id=PAP;password=PAPPASSOWRD;database=PAPSAMPLE"
        conn.Open()
        myCommand.Connection = conn
        myCommand.CommandText = "SELECT count(* ) N FROM `PAPDB`.`users` where username = '" + UsernameTextBox.Text + "'" + " and password = '" + PasswordTextBox.Text + "'"
        If (Convert.ToInt32(myCommand.ExecuteScalar()) = 1) Then
            main.Show()
            Me.Hide()
        Else
            Me.Close()
        End If
    End Sub

Neste caso ele valida o login e password de uma text box com os constantes na base de dados MySQL, abre o form principal do programa "exemplo", e fecha a conecção.

É apenas um exemplo, se deres algum promenor mais concreto posso tentar fazer um form como o que dizes que pertendes com relativa facilidade.

Cumprimentos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other sites

Podes ir ver como está feito o motor de mySQL no meu DataGate, ou até usar o DataGate.

Usa internamente o mySQL connector (tanto que o leva atrás dele 😞).

Existe aqui no forum um tópico para o DataGate mas ainda não o actualizei, por isso te dei o link para fora do P@P

Vou ver se com mais tempo passo os motores de database para DLLs para poderes ligar apenas as que te interessam.

Entretanto, já actualizei o tópico aqui no P@P

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.