Jump to content

Recommended Posts

Posted

Boas pessoal gostaria de saber como posso ver se um registo ja esta na BD..

Estou a usar Bd em access

e estou a usar este código para tentar validar..

    Dim verificar As String = "SELECT matricula FROM compras where matricula = " & matriculatext.Text & ""
                If (verificar = matriculatext.Text) Then
                    MsgBox("A matricula ja se encontra")
                    Exit Sub
                End If
Posted

nop...nem nada que se pareça

Tens que fazer um select count tipo: "select count(1) from tabela x where matricula = matricula de teste"

Depois tens que abrir a conexão à base de dados e enviar a instrução...e acima de tudo....interagir com a base de dados.

Podes usar o reader, mas deve usar-se preferencialmente o executescalar.

penso que existem no fórumi posts relativamente  a um e outro.

PS - quantas vezes é preciso dizer.. que para ler uma instrução de SQL da Base de dados...É MESMO PRECISO IR LER À BASE DE DADOS???

Já agora...recomendo a leitura:

http://blogs.x2line.com/al/archive/2007/05/01/3049.aspx

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Posted

PS - quantas vezes é preciso dizer.. que para ler uma instrução de SQL da Base de dados...É MESMO PRECISO IR LER À BASE DE DADOS???

o código que postei nao é todo o que tenho, claro que tenho codigo para ir ler á BD..

obrigado, vou ler o que me mandas-te:)

Posted

Vê se ajuda  😕



fVerificarRegisto = 0 ' Não existe registo na tabela
fVerificarRegisto = 1 ' Existe registo na tabela
fVerificarRegisto = -1 ' Erro no SQL ou ....


   Public Function fVerificarRegisto(ByVal strParam As String) As integer

        Dim strSQL As String = "SELECT campo FROM tabela WHERE campo = " & strParam
        Dim DR As OleDbDataReader
        Dim Cnn As New OleDbConnection(fCnnString)
        Dim Cmd As New OleDbCommand(strSQL, Cnn)

        Try
            Cnn.Open()
            DR = Cmd.ExecuteReader
            If (DR.HasRows) Then
                fVerificarRegisto = 1
            Else
                fVerificarRegisto = 0
            End If

        Catch ex As Exception
            'MsgBox(ex.Message, MsgBoxStyle.Critical, My.Application.Info.Title)
            fVerificarRegisto = -1

        End Try

        Cnn.Close()
        Cnn = Nothing
        Cmd = Nothing

    End Function

Posted

Vê se ajuda  😕



fVerificarRegisto = 0 ' Não existe registo na tabela
fVerificarRegisto = 1 ' Existe registo na tabela
fVerificarRegisto = -1 ' Erro no SQL ou ....


   Public Function fVerificarRegisto(ByVal strParam As String) As integer

        Dim strSQL As String = "SELECT campo FROM tabela WHERE campo = " & strParam
        Dim DR As OleDbDataReader
        Dim Cnn As New OleDbConnection(fCnnString)
        Dim Cmd As New OleDbCommand(strSQL, Cnn)

        Try
            Cnn.Open()
            DR = Cmd.ExecuteReader
            If (DR.HasRows) Then
                fVerificarRegisto = 1
            Else
                fVerificarRegisto = 0
            End If

        Catch ex As Exception
            'MsgBox(ex.Message, MsgBoxStyle.Critical, My.Application.Info.Title)
            fVerificarRegisto = -1

        End Try

        Cnn.Close()
        Cnn = Nothing
        Cmd = Nothing

    End Function

vou testar, obrigado 🙂

Posted

    Dim verificar As String = "SELECT matricula FROM compras where matricula = " & matriculatext.Text & ""
                If (verificar = matriculatext.Text) Then
                    MsgBox("A matricula ja se encontra")
                    Exit Sub
                End If

Pareceu-me bem claro que estavas a testar se a tua variavel string era igual ao que tinhas na text box... mas se calhar foi mesmo só confusão minha.... ?

Para o PauloR:

Parece-me que em termos de performance, o select count() é superior...muito embora, o modo como fizeste também funcione.

De qualquer modo, dar a resposta de caras, não me parece a melhor metodologia para ajudar alguém... é claro que isso deve ser entendido como uma opinião pessoal.

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

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
×
×
  • 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.