RE: [firebase-br] VB.NET - Executar várias query dentro do mesmo
Ivan Guimarães Meirelles
igmeirelles em gmail.com
Sex Nov 24 08:38:57 -03 2006
Dessa forma não dá certo, vai ser necessário criar uma SP para isso e
executar-la em seu sistema...
Agora algumas dicas quanto ao VB.Net...
Só abra a conexão se ela não estiver aberta, para isso, faça assim:
If oConn.State = ConnectionState.Closed Then oConn.Open()
Abra a conexão uma linha antes de executar as funções no banco, e logo após
feche a conexão, ou seja:
Dim oCmd As New Firebird.FbCommand(strSQL, oConn)
If oConn.State = ConnectionState.Closed Then oConn.Open()
oCmd.ExecuteNonQuery()
oConn.Close()
Evite usar concatenações: (" & qualquerCoisa &"), passe sempre como
parâmetros:
Exemplo:
strSQL = "UPDATE PRODUTOS SET QTD=? WHERE ID_PRODUTO=?"
oCmd = New FbCommand(strSQL, oConn)
oCmd.Parameters.Add("QTD", txtQtdProd.Text)
oCmd.Parameters.Add("ID_PRODUTO", txtCodProduto.Text)
If oConn.State = ConnectionState.Closed Then oConn.Open()
oCmd.ExecuteNonQuery()
oConn.Close()
Espero ter ajudado em algo....
-----Original Message-----
From: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
On Behalf Of Rodrigo Araújo
Sent: quinta-feira, 23 de novembro de 2006 16:48
To: lista em firebase.com.br
Subject: [firebase-br] VB.NET - Executar várias query dentro do mesmo
Pessoal estou precisando utilizar alguns recursos que utilizava no
SQLServer, e não estou conseguindo utilizá-los no FireBird. O código abaixo
não é executado, é exibido um erro dizendo que "variable", não é
reconhecido. Esse tipo de estrutura, só pode ser feito dentro de procedures
???
Firebird 1.5
Firebird .NET Data Provider - 1.7
Att, Rodrigo Araújo.
Dim strConexao As String
Dim strSQL As String
strConexao =
"Database=C:\Rodrigo\MultiTestApplication\MultiTestApplication\MultiTestAppl
ication\bin\BDTESTE.FDB;User="
& Me.txtLogin.Text & ";Password=" & Me.txtSenha.Text &
";Dialect=3;ServerType=1;Pooling=False"
Dim oConn As New Firebird.FbConnection(strConexao)
oConn.Open()
strSQL = "declare variable var_Coluna INTEGER;" & _
"BEGIN" & _
" select count(1) as qtd from tabela where coluna =
'teste'; " & _
" INTO :var_Coluna ;" & _
" IF var_Coluna > 0 THEN " & _
" insert into tabela (Coluna) values ('teste');" &
_
" END " & _
"END"
Try
Dim oCmd As New Firebird.FbCommand(strSQL, oConn)
oCmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
End Try
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista