ERRO END FUNCTION

JOERBETH 09/01/2017 14:26:57
#470509
boa tarde pessoal

Tive que fomatar meu note, depois de instalar tudo o mesmo projeto que estava rodando, está dando erro no End Function:

Imports FirebirdSql
Imports FirebirdSql.Data
Imports FirebirdSql.Data.FirebirdClient

Module Module1
Public vConexao As New FbConnection
Public v_Sql As New FbConnectionStringBuilder
Public v_Comandos As FbCommand [ô]Para insert, update, etc
Public v_Consultas As FbDataReader [ô]Para leitura de dados provenientes de selects
Public Conectado As Boolean = False
Public Function PreparaConexao()
Try
vConexao = New FbConnection([Ô]User=SYSDBA;Password=masterkey;Database=C:\Midia\Sistema de Campanhas\Sistema de Campanhas\Banco\CAMPANHAS.fdb;DataSource=localhost;Dialect=3;[Ô])
vConexao.Open()
Conectado = True
Catch
Conectado = False
End Try
vConexao.Close()
End Function

End Module

??

Grato

Joerbeth
NICKOSOFT 09/01/2017 17:23:49
#470513
function deve retornar algo, vc nem especifica o q retorna, e nem usa o return, se não vai ter retorno use sub em vez de function
JOERBETH 09/01/2017 17:41:52
#470515
opa, sim, coloquei e aparentemente resolveu essa situação, agora outra:
]Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim v_Sql2 As String
PreparaConexao()
v_Sql2 = [Ô]select max(CODIGO) AS ULTIMOCODIGO from EMPRESAS[Ô]
v_Comandos = New FbCommand(v_Sql2, vConexao)
If v_Comandos.Read Then
TXT_Codigo.Text = v_Comandos([Ô]ULTMOCODIGO[Ô]) + 1
Else
TXT_Codigo.Text = [Ô]00001[Ô]
End If
[ô]AbreConexao()
conexao.Open()
dr = comando.ExecuteReader()
While dr.Read()
Console.WriteLine([Ô]Nome: [Ô] &
dr.GetString(1) & [Ô], [Ô])
End While
Catch
Console.WriteLine([Ô]Ocorreu um Erro.[Ô])
Finally
dr.Close()
conexao.Close()
End Try
End Sub

****************************************
e v_Comandos está no module


e dando erro?

grato

Joerbeth

JOERBETH 09/01/2017 17:57:48
#470518
PreparaConexao()
Dim v_Sql2 As FbCommand = New FbCommand([Ô]select max(CODIGO) AS ULTIMOCODIGO from EMPRESAS[Ô], vConexao)
[ô]v_Comandos = New FbCommand(v_Sql2, vConexao)

[ô]gera o datareader
Dim V_Reader As FbDataReader = v_Sql2.ExecuteReader()

If V_Reader.Read Then
TXT_Codigo.Text = V_Reader([Ô]ULTMOCODIGO[Ô]) + 1
Else
TXT_Codigo.Text = [Ô]00001[Ô]
End If
PreparaConexao()


é isso ne? kkkk

e dale taca
JOERBETH 09/01/2017 18:02:56
#470519
ainda nao é isso, carrega o sql e nao testa do txt_Codigo
JOERBETH 09/01/2017 18:33:58
#470523
e aqui:

Dim sql As String
If Conectado = False Then
Call PreparaConexao()
End If
If Conectado = True Then
sql = [Ô]Insert Into EMPRESAS(CODIGO,EMPRESA,N_CARRO)Values([ô][Ô] & TXT_Codigo.Text & [Ô][ô],[ô][Ô] & TXT_Empresa.Text & [Ô][ô],[ô][Ô] & TXT_Carro.Text & [Ô][ô])[Ô]
v_Comandos = New FbCommand(sql, vConexao)
If TXT_Empresa.Text = [Ô][Ô] Then
MsgBox([Ô]Empresa não pode ser em branco[Ô], vbCritical, [Ô]Aviso ao Usuário[Ô])
TXT_Empresa.Focus()
Exit Sub
End If
If TXT_Carro.Text = [Ô][Ô] Then
MsgBox([Ô]Nº do Carro não pode ser em branco[Ô], vbCritical, [Ô]Aviso ao Usuário[Ô])
TXT_Carro.Focus()
Exit Sub
End If
v_Comandos.ExecuteNonQuery()
MsgBox([Ô]Dados Gravados com Sucesso[Ô], vbInformation, [Ô]Aviso ao Usuário[Ô])
End If

dando erro no v_comandos.executeNonquery() ??


OMAR2011 09/01/2017 19:55:18
#470528
Resposta escolhida
Bem simples sem necessidade de Banco.Close.
Public Function GetconnectionFirebirdfb() As FbConnection
Dim sqlf As String = [Ô]Server=localhost;User=SYSDBA;Password=masterkey;Database=[Ô] & My.Application.Info.DirectoryPath & [Ô]\DELICIAS.FDB[Ô]
Return New FbConnection(sqlf)
End Function

Private Sub Button12_Click(sender As System.Object, e As System.EventArgs) Handles Button12.Click
Dim dr As FbDataReader = Nothing
Using con As FbConnection = GetconnectionFirebirdfb()
Try
con.Open()
Dim sql As String = [Ô]select max(CODIGO) AS ULTIMOCODIGO from EMPRESAS[Ô]
Dim cmd As FbCommand = New FbCommand(sql, con)
dr = cmd.ExecuteReader(CommandBehavior.SingleRow)
If dr.HasRows Then
dr.Read()
txt1.Text = [Ô][Ô] & dr.Item([Ô]ULTIMOCODIGO[Ô]) + 1
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
dr.Close()
End Try
End Using
End Sub
NICKOSOFT 09/01/2017 20:21:54
#470530
v_Comandos é pra aceitar string e connection mesmo?
tira o new da linha
v_Comandos = FbCommand(sql, vConexao)
JOERBETH 11/01/2017 21:50:33
#470624
Boa noite, já dei uma evoluida.kkkkkkkk
tô tentando fazer um update, consegui carregar o datagrid, e preencher no text, beleza, agora tá dando erro na linha: v_Comandos.ExecuteNonQuery()

Dim sql As String
Dim dr As FbDataReader = Nothing
Dim sql2 As String = [Ô]select max(CODIGO) AS ULTIMOCODIGO from EMPRESAS[Ô]
If Conectado = False Then
Call PreparaConexao()
End If
If Conectado = True Then
sql = [Ô]UPDATE EMPRESAS SET EMPRESA=[ô][Ô] & TXT_Empresa.Text & [Ô][ô],N_CARRO=[ô][Ô] & TXT_Carro.Text & [Ô][ô])[Ô]
v_Comandos = New FbCommand(sql, vConexao)
If TXT_Empresa.Text = [Ô][Ô] Then
MsgBox([Ô]Empresa não pode ser em branco[Ô], vbCritical, [Ô]Aviso ao Usuário[Ô])
TXT_Empresa.Focus()
Exit Sub
End If
If TXT_Carro.Text = [Ô][Ô] Then
MsgBox([Ô]Nº do Carro não pode ser em branco[Ô], vbCritical, [Ô]Aviso ao Usuário[Ô])
TXT_Carro.Focus()
Exit Sub
End If

v_Comandos.ExecuteNonQuery()
MsgBox([Ô]Dados alterados com Sucesso[Ô], vbInformation, [Ô]Aviso ao Usuário[Ô])
TXT_Empresa.Text = [Ô][Ô]
TXT_Carro.Text = [Ô][Ô]
If Conectado = False Then
Call PreparaConexao()
End If
Try
Dim cmd As FbCommand = New FbCommand(sql2, vConexao)
dr = cmd.ExecuteReader(CommandBehavior.SingleRow)
If dr.HasRows Then
dr.Read()
TXT_Codigo.Text = [Ô][Ô] & dr.Item([Ô]ULTIMOCODIGO[Ô]) + 1
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
dr.Close()
End Try
TXT_Empresa.Focus()
End If
End Sub


Engraçado, é que tenho o código similar na inclusão e tá fncionado?!

grato

NICKOSOFT 12/01/2017 05:59:07
#470628
sql = [Ô]UPDATE EMPRESAS SET EMPRESA=[ô][Ô] & TXT_Empresa.Text & [Ô][ô],N_CARRO=[ô][Ô] & TXT_Carro.Text & [Ô][ô])[Ô]

Isso ta certo? Nao vi abrir ( pra fechar ali
Vc precisa ir depurando o codigo pra nao so ver q da erro ali, ver q erro e entender como resolver, a propria mensagem de erro no depurador ja diz tudo sobre o erro
JOERBETH 12/01/2017 07:29:15
#470629
bom dia

Realmente, da proxima mais calma..rs

valeu
Tópico encerrado , respostas não são mais permitidas