vasco16 Posted May 9, 2009 at 02:41 PM Report #262630 Posted May 9, 2009 at 02:41 PM 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
José Lopes Posted May 9, 2009 at 02:58 PM Report #262633 Posted May 9, 2009 at 02:58 PM 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á!!
vasco16 Posted May 9, 2009 at 03:19 PM Author Report #262635 Posted May 9, 2009 at 03:19 PM 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:)
Guest PauloR Posted May 9, 2009 at 03:44 PM Report #262638 Posted May 9, 2009 at 03:44 PM 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
vasco16 Posted May 9, 2009 at 05:30 PM Author Report #262672 Posted May 9, 2009 at 05:30 PM 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 🙂
José Lopes Posted May 9, 2009 at 07:03 PM Report #262709 Posted May 9, 2009 at 07:03 PM 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á!!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now