Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

slocun

[Resolvido] codigo de inserir...

Recommended Posts

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.