• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

blasted

vb2005 & sql

2 mensagens neste tópico

boas, venho novamente pedir ajuda, desta vez para verificar onde estou a errar, e se o que estou a fazer faz sentido algum.

Procurei no fórum e retirei ajuda do seguinte tópico:

http://www.portugal-a-programar.pt/index.php?showtopic=2284

O meu programa é suposto ser, por enquanto, da seguinte forma. Verificar se utilizador está na base de dados, caso isso se verifique, ele escreve na label que tal se confirma, caso falso, ele diz o contrário.

Imports System.Data.SqlClient
Imports System.Data.Common

Public Class Form1
    Public connBuilder As New SqlConnectionStringBuilder
    Public conn As New SqlConnection
    Public cmd As New SqlCommand

    Private Sub cmdConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdConnect.Click
        conn.ConnectionString = "data source=localhost;initial catalog=vb_sb;persist security info=False;user id=xxxx;password=xxxx"
        cmd.CommandText = "SELECT USER,PASSWORD FROM users"
        cmd.Connection = conn
        Dim reader As DbDataReader = Nothing
        Try
            conn.Open()
            reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
            Do While reader.Read
                If txtuser.Text = reader.GetString(0) Then
                    Label1.Text = "connected"
                Else
                    Label1.Text = "not connected"
                End If
            Loop
        Catch ex As Exception
        Finally
            reader.Close()
            conn.Close()
        End Try
    End Sub
End Class

Como dá para ver, tentei incluir uma condição, na esperança que reader.GetString(0) contesse o nome de utilizado procurado na base de dados, mas verifico que não funciona assim. Outra questão seria então, do que se trata o data reader?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

problema resolvido, decidi continuar a tentar encontrar uma solução, pois o código que tinha utilizado não fazia muito sentido.

Encontrei então uma página, com um tutorial muito bom:

http://www.vbmysql.com/articles/vbnet-mysql-tutorials/the-vbnet-mysql-tutorial-part-3

Contudo, estava a fazer confusão, não era SQL que queria, mas sim MySQL, então pesquisei mais um pocuo, pois o vb não encontrava o dll necessário e dava erro na seguinte linha:

"Imports MySql.Data.MySqlClient"

Para resolver isto, bastou-me fazer download disto: http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-5.0.9.exe/from/pick

Isto porque tinha o mysql instalado, mas sem dll's.

Sendo assim, fiquei com o seguinte código, depois de seguir o tutorial:

Imports MySql.Data.MySqlClient

Public Class frmlogin
    Dim conn As mySqlConnection

    Private Sub cmdConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLogin.Click
        conn = New mySqlConnection()
        conn.ConnectionString = "Data Source=" & txtserver.Text & ";user id=" & txtusername.Text & ";password=" & txtpassword.Text & ";database=vb_sb"
        Try
            conn.Open()
            MessageBox.Show("Connection Opened Successfully")
            conn.Close()
        Catch myerror As mySqlException
            MessageBox.Show("Error Connecting to Database: " & myerror.Message)
        Finally
            conn.Dispose()
        End Try
    End Sub

    Private Sub cmdexit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdexit.Click
        Application.Exit()
    End Sub
End Class

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora