Ir para conteúdo

POWERED BY:

Arquivado

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

Alex Galindo

[Resolvido] inserindo dados numa tabela com banco access

Recommended Posts

MEU BANCO EM ACCESS SO TEM 3 CAMPOS: CODIGO - AUTONUMERAÇÃO

RG - TEXTO

CPF - TEXTO

 

MEU FORMULARIO É:

<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title></head><body><form name="form1" method="post" action="respostatestar.asp">Código: <input type='text' name='codigo' text=''><br>RG: <input type='text' name='rg' text=''><br>CPF: <input type='text' name='cpf' text=''><br><input type=submit value=Enviar></form></body></html>
MINHA PAGINA ASP É:

<%dim codigodim RGdim CPFdim RSdim Insertdim dadoscodigo = Request.form("codigo")RG = Request.form("RG")CPF = Request.form("CPF")if  len(codigo)=0 or len(RG)=0 or len(CPF)=0 then	response.write("Preencha todos os campos")else	Set objConn = Server.CreateObject("ADODB.Connection")		caminho = "dadosteste.mdb"		objConn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq="& Server.MapPath(caminho) &";Uid=Admin;Pwd=;"		Insert = "INSERT INTO modelo (codigo) VALUES ('"& codigo &"'), (RG) VALUES ('"& RG &"'), (CPF) VALUES ('"& CPF &"') "	Set RS = objConn.Execute(Insert)	Response.Write("Notícia enviada com sucesso")	Response.Write("<BR><a href=mostrar.asp>listar autores</a>")End ifobjConn.close%>
_________________________

 

Ele da esse erro:

 

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Ponto e vírgula (Imagem Postada faltando no final da instrução SQL.

Ele se refere a essa linha de codigo: Set RS = objConn.Execute(Insert)

 

So que ja botei o ponto e virgula no final e nada.

 

Agora se eu botar um campo so ele inclui o dado na tabela.

 

Se alguem puder me ajudar obrigado desde já!

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

de um response.write em Insert e veja o qeu retorna e post aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Response.Write("Insert") ASSIM, EMBAIXO DESSA LINHA:

 

Insert = "INSERT INTO modelo (codigo) VALUES ('"& codigo &"'), (RG) VALUES ('"& RG &"'), (CPF) VALUES ('"& CPF &"') "

Response.Write("Insert") AQUI NE

 

BOTEI ASSIM TA ERRADO

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que apareceu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Ponto e vírgula (Imagem Postada faltando no final da instrução SQL.

Deu o mesmo erro

 

Estava certo o modo como coloquei?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas vai dar o mesmo erro mesmo

 

quero qeu voce cole aqui o que o response.write mostra para ver oq ue ta errado e propor uma correçaõ

 

o qeu aparece antes do erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele nao mostra nada so da a mensagem de erro na pagina ASP.

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Ponto e vírgula (Imagem Postada faltando no final da instrução SQL.

/testes/respostatestar.asp, line 27

 

 

Tipo de navegador:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

 

Página:

POST 32 bytes to /testes/respostatestar.asp

 

POST Data:

codigo=8798&rg=54654&cpf=6876789

Isso é tudo q mostrar.

 

você viu como eu botei? Esta certo?

 

 

Assim:

<%dim codigodim RGdim CPFdim RSdim Insertdim dadoscodigo = Request.form("codigo")RG = Request.form("RG")CPF = Request.form("CPF")if  len(codigo)=0 or len(RG)=0 or len(CPF)=0 then	response.write("Preencha todos os campos")else	Set objConn = Server.CreateObject("ADODB.Connection")		caminho = "dadosteste.mdb"		objConn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq="& Server.MapPath(caminho) &";Uid=Admin;Pwd=;"		Insert = "INSERT INTO modelo (codigo) VALUES ('"& codigo &"'), (RG) VALUES ('"& RG &"'), (CPF) VALUES ('"& CPF &"') "	Response.Write("Insert")	Set RS = objConn.Execute(Insert)	Response.Write("Notícia enviada com sucesso")	Response.Write("<BR><a href=mostrar.asp>listar autores</a>")End ifobjConn.close%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tira as aspas

 

Response.Write(Insert)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de:

Insert = "INSERT INTO modelo (codigo) VALUES ('"& codigo &"'), (RG) VALUES ('"& RG &"'), (CPF) VALUES ('"& CPF &"') "

não seria:

Insert = "INSERT INTO modelo (codigo,RG,CPF) VALUES (" & codigo & "," & rg & "," & cpf &") "

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloquei como você me disse. na verdade ja tinha visto mais achei q nao era mais tentei agora e deu esse erro:

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Número de valores da consulta e campos de destino não coincidem.

mais meu banco so tem 3 campos:

 

codigo -autonumeração

rg - texto

cpf - texto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Logo abaixo da linha do INSERT = "bla bla", faça

Response.Write(Insert)
Response.End
Poste o resultado apresentado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara como disse vai dar erro mesmo mas o que tem que postar aqui é para vermos o que ta acontecendo e sugerir correção

 

se voce nao posta aqui qu pedimos fica dificil

 

Torque isso

 

Insert = "INSERT INTO modelo (codigo) VALUES ('"& codigo &"'), (RG) VALUES ('"& RG &"'), (CPF) VALUES ('"& CPF &"') "
Response.Write("Insert")
Set RS = objConn.Execute(Insert)

Por isso

Insert = "INSERT INTO modelo (codigo, RG, CPF) VALUES ('"& codigo &"', '"& RG &"', '"& CPF &"') "
Set RS = objConn.Execute(Insert)

Se der erro voce troca por

 

Insert = "INSERT INTO modelo (codigo, RG, CPF) VALUES ('"& codigo &"', '"& RG &"', '"& CPF &"') "
Response.write(Insert)
Response.end
Set RS = objConn.Execute(Insert)

E psota o que aparece na tela aqui

 

So isso, siga estes passos sem mudar senao vai demorar mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

AGORA SIM MOSTROU ALGO PQ COM A LINHA Q você TINHA FALADO PARA EU ALTERAR NAO MOSTRAVA NADA

POR ISSO SO ENVIEI A MENSAGEM DE ERRO Q ELE ME MANDAVA AGORA COM O RESPONSE.END É Q MOSTROU ALGO

 

 

ISSO: INSERT INTO modelo (codigo,RG,CPF) VALUES ('8798'), (RG) VALUES ('54654'), (CPF) VALUES ('6876789')

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas voce nao mudou o que eu pedi

 

leia novamente o psot anterior e faça o que pedi

Compartilhar este post


Link para o post
Compartilhar em outros sites

MARIO COLOQUEI EXATAMENTE COMO você DISSE MINHA LINHA TA ASSIM:

 

Insert = "INSERT INTO modelo (codigo, RG, CPF) VALUES ('"& codigo &"', '"& RG &"', '"& CPF &"') "

Response.write(Insert)

Response.end

Set RS = objConn.Execute(Insert)

 

 

____________________________________________

 

MEU CODIGO INTEIRO AGORA:

 

<%

dim codigo

dim RG

dim CPF

dim RS

dim Insert

dim dados

 

codigo = Request.form("codigo")

RG = Request.form("RG")

CPF = Request.form("CPF")

 

 

if len(codigo)=0 or len(RG)=0 or len(CPF)=0 then

response.write("Preencha todos os campos")

else

 

Set objConn = Server.CreateObject("ADODB.Connection")

 

caminho = "dadosteste.mdb"

 

objConn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq="& Server.MapPath(caminho) &";Uid=Admin;Pwd=;"

 

Insert = "INSERT INTO modelo (codigo,RG,CPF) VALUES ('"& codigo &"'), (RG) VALUES ('"& RG &"'), (CPF) VALUES ('"& CPF &"') "

Response.Write(Insert)

Response.End

 

 

Set RS = objConn.Execute(Insert)

 

Response.Write("Notícia enviada com sucesso")

Response.Write("<BR><a href=mostrar.asp>listar autores</a>")

End if

 

objConn.close

%>

_________________________

 

 

E O ERRO Q APARECEU NO NAVEGADOR FOI ESSE:

 

INSERT INTO modelo (codigo,RG,CPF) VALUES ('8798'), (RG) VALUES ('54654'), (CPF) VALUES ('6876789')

 

FOI A SUA TERCEIRA OPÇÃO, PQ AS DUAS PRIMEIRAS EU JA TINHA FEITO IGUAL E NADA ROLOU.

AGORA COLOQUEI A TERCEIRA HIPOTESE E DEU O ERRO ACIMA!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, repare que no seu código está:

 

Insert = "INSERT INTO modelo (codigo,RG,CPF) VALUES ('"& codigo &"'), (RG) VALUES ('"& RG &"'), (CPF) VALUES ('"& CPF &"') "

Troque por:

 

Insert = "INSERT INTO modelo (codigo, RG, CPF) VALUES ('"& codigo &"', '"& RG &"', '"& CPF &"') "

Repare no seu post que está diferente. Corrija isso e poste o resultado pra gente "ver".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu pedido

Insert = "INSERT INTO modelo (codigo, RG, CPF) VALUES ('"& codigo &"', '"& RG &"', '"& CPF &"') "

Seu codigo

 

Insert = "INSERT INTO modelo (codigo,RG,CPF) VALUES ('"& codigo &"'), (RG) VALUES ('"& RG &"'), (CPF) VALUES ('"& CPF &"') "

Corrija isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%

dim codigo

dim RG

dim CPF

dim RS

dim Insert

dim dados

 

codigo = Request.form("codigo")

RG = Request.form("RG")

CPF = Request.form("CPF")

 

 

if len(codigo)=0 or len(RG)=0 or len(CPF)=0 then

response.write("Preencha todos os campos")

else

 

Set objConn = Server.CreateObject("ADODB.Connection")

 

caminho = "dadosteste.mdb"

 

objConn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq="& Server.MapPath(caminho) &";Uid=Admin;Pwd=;"

 

Insert = "INSERT INTO modelo (codigo, RG, CPF) VALUES ('"& codigo &"', '"& RG &"', '"& CPF &"') "

Response.Write(Insert)

Response.End

 

Set RS = objConn.Execute(Insert)

 

Response.Write("Notícia enviada com sucesso")

Response.Write("<BR><a href=mostrar.asp>listar autores</a>")

End if

 

objConn.close

%>

______________________________________________

 

 

AGORA ACHO Q ESTA IGUAL REALMENTE, NAO TINHA REPARADO, MAIS PELO QUE PUDE PERCEBER DA NO MESMO. POIS O ERRO Q DEU DEU NO MESMO.

 

INSERT INTO modelo (codigo, RG, CPF) VALUES ('8798', '54654', '6876789')

 

ELE RECEBE MAIS NAO ENVIA.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se os campos forem todos texto mesmo apenas retire esta linha

 

Response.End

 

se tiver algum campo numerico tire as aspas simples que abraçam este campo

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.