VERIFICAR SE REGISTRO JA EXISTE EM TABELA FIREBIRD
Olá rapaziada,
Tenho um programa que tem como base de dados o SQL Server e utilizo a seguinte consulta para verificar se um determinado registro já se encontra gravado.
Dim strCmd As String = [Ô]SELECT Conta [Ô] & _
[Ô]FROM tbConta [Ô] & _
[Ô]WHERE Conta = [ô][Ô] & cbConta.Text & [Ô][ô][Ô]
Dim sqlCmd As SqlCommand = New SqlCommand(strCmd, con)
Dim dr As SqlDataReader
dr = sqlCmd.ExecuteReader
dr.Read()
Try
If dr.HasRows Then
Exit Sub
Else
If cbConta.Text = [Ô][Ô] Then
Exit Sub
Else
inserirConta()
End If
End If
Quando o registro existe retorna TRUE e quando não existe FALSE obviamente.
Tenho que fazer a mesma consulta no FIREBIRD e a construà assim:
Dim strCmd As String = [Ô]SELECT Conta [Ô] & _
[Ô]FROM Conta [Ô] & _
[Ô]WHERE Conta = [ô][Ô] & cbConta.Text & [Ô][ô][Ô]
Dim sqlCmd As FbCommand = New FbCommand(strCmd, con)
Dim dr As FbDataReader
dr = sqlCmd.ExecuteReader
dr.Read()
Try
If dr.HasRows Then
Exit Sub
Else
If cbConta.Text = [Ô][Ô] Then
Exit Sub
Else
inserirConta()
End If
End If
Só que mesmo não existindo o registro retorna sempre TRUE, o que não condiz com a verdade.
Aonde estou errando.
Desde já agradeço qualquer ajuda.
Tenho um programa que tem como base de dados o SQL Server e utilizo a seguinte consulta para verificar se um determinado registro já se encontra gravado.
Dim strCmd As String = [Ô]SELECT Conta [Ô] & _
[Ô]FROM tbConta [Ô] & _
[Ô]WHERE Conta = [ô][Ô] & cbConta.Text & [Ô][ô][Ô]
Dim sqlCmd As SqlCommand = New SqlCommand(strCmd, con)
Dim dr As SqlDataReader
dr = sqlCmd.ExecuteReader
dr.Read()
Try
If dr.HasRows Then
Exit Sub
Else
If cbConta.Text = [Ô][Ô] Then
Exit Sub
Else
inserirConta()
End If
End If
Quando o registro existe retorna TRUE e quando não existe FALSE obviamente.
Tenho que fazer a mesma consulta no FIREBIRD e a construà assim:
Dim strCmd As String = [Ô]SELECT Conta [Ô] & _
[Ô]FROM Conta [Ô] & _
[Ô]WHERE Conta = [ô][Ô] & cbConta.Text & [Ô][ô][Ô]
Dim sqlCmd As FbCommand = New FbCommand(strCmd, con)
Dim dr As FbDataReader
dr = sqlCmd.ExecuteReader
dr.Read()
Try
If dr.HasRows Then
Exit Sub
Else
If cbConta.Text = [Ô][Ô] Then
Exit Sub
Else
inserirConta()
End If
End If
Só que mesmo não existindo o registro retorna sempre TRUE, o que não condiz com a verdade.
Aonde estou errando.
Desde já agradeço qualquer ajuda.
Porque você não faz um count?
ex:
ex:
dim sql as string = [Ô][Ô]
sql = [Ô]Select count(conta) as qtd from conta where conta = @conta[Ô]
Using cmd as new FbCommand(sql, con)
cmd.paramters.add([Ô]@conta[Ô], cbConta.Text)
Using dr as FbDataReader = cmd.ExecuteReader()
If dr.Read() = true then
if not isdbnull(dr.item([Ô]qtd)) then
if cint(dr.item([Ô]qtd[Ô])) > 0
[ô]Tem registro
end if
end if
End if
End Using
End Using
Valeu, GUIMORAES
Na mosca, muito obrigado.
Estou encerrando o tópico
Na mosca, muito obrigado.
Estou encerrando o tópico
Tópico encerrado , respostas não são mais permitidas