slocun 0 Denunciar post Postado Abril 10, 2008 Ola Pessoal! eu preciso duma ajuda aqui com um código que me está a dar o seguinte erro: Falta um ponto e vírgula (;) no fim da instrução SQL. Descrição: Excepção não processada ao executar o pedido Web actual. Consulte o rastreio da pilha para obter mais informações sobre o erro e o respectivo ponto de origem no código. Detalhes da excepção: System.Data.OleDb.OleDbException: Falta um ponto e vírgula (;) no fim da instrução SQL. código: Sub inserir_Click(ByVal obj As Object, ByVal arg As ImageClickEventArgs) Dim t1, t2, t3, t4, t5, t6 As String Dim nr As Long nr = txt1.Text t1 = txt3.Text t2 = txt4.Text t3 = txt5.Text t4 = txt6.Text t5 = txt7.Text t6 = txt8.Text Dim conexao As OleDbConnection Dim Comando As OleDbCommand Dim sql As String conexao = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & MapPath("cadastro.mdb")) conexao.Open() Dim SQLSt As String Dim dr As OleDbDataReader If txt1.Text = "" Then Lbl.Text = "O campo 'Nº Cliente' têm de ser obrigatóriamente preenchido!" Else SQLSt = "SELECT Nr FROM Cliente WHERE Nr =" & nr Comando = New OleDbCommand(SQLSt, conexao) dr = Comando.ExecuteReader Comando.Dispose() If dr.Read Then Lbl.Text = "Registo inserido!" sql = "INSERT INTO Bem (Identificacao_Bem, Data_Aquisicao, Nr_Serie, Valor_Aquisicao, Fornecedor, Documento) values ('" & t1 & "', '" & t2 & "', '" & t3 & "', '" & t4 & "', '" & t5 & "', '" & t6 & "') where Nr =" & nr Comando = New OleDbCommand(sql, conexao) Comando.ExecuteNonQuery() conexao.Close() Else Lbl.Text = "Este registo não existe!" End If End If End Sub--------------------------- estrutura da BD: tabela cliente: nr (chave), nome tabela bem: nr_bem (chave), nr (ligação com 'nr' da tabela cliente), Identificacao_Bem, Data_Aquisicao, Nr_Serie, Valor_Aquisicao, Fornecedor, Documento não percebo a origem deste erro... caso eu introduza um ponto e virgula no final da instrução sql, dá-me o seguinte erro: Erro de compilação Descrição: Erro ao compilar um recurso necessário para efectuar este pedido. Consulte os detalhes do erro específico que se segue e modifique o código fonte conforme apropriado. Mensagem de erro do compilador: BC30037: Character is not valid. Alguem sabe o que se passa? cumps. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Fernandes.mcp 0 Denunciar post Postado Abril 10, 2008 SQLSt = "SELECT Nr FROM Cliente WHERE Nr =" & nr Tenta assim SQLSt = "SELECT Nr FROM Cliente WHERE Nr =" + nr Compartilhar este post Link para o post Compartilhar em outros sites
slocun 0 Denunciar post Postado Abril 11, 2008 SQLSt = "SELECT Nr FROM Cliente WHERE Nr =" & nr Tenta assim SQLSt = "SELECT Nr FROM Cliente WHERE Nr =" + nr Ola Fernandes.mcp! infelizmente a sugestao dada não funcionou... cumps Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Abril 12, 2008 Eu nunca tinha visto uma query obrigar a colocar o ponto e virgula, mas se o problema for esse, basta: sql = "INSERT INTO Bem (Identificacao_Bem, Data_Aquisicao, Nr_Serie, Valor_Aquisicao, Fornecedor, Documento) values ('" & t1 & "', '" & t2 & "', '" & t3 & "', '" & t4 & "', '" & t5 & "', '" & t6 & "') where Nr =" & nr & ";" Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
slocun 0 Denunciar post Postado Abril 17, 2008 bem...obrigado pelas ajudas, consegui resolver da seguinte forma: sql = "INSERT INTO Bem (Nr,Identificacao_Bem, Data_Aquisicao, Nr_Serie, Valor_Aquisicao, Fornecedor, Documento, obs) values ('" & nr & "', '" & t1 & "', '" & t2 & "', '" & t3 & "', '" & t4 & "', '" & t5 & "', '" & t6 & "', '" & t7 & "')".......cumps. Compartilhar este post Link para o post Compartilhar em outros sites