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