Ir para conteúdo

POWERED BY:

Arquivado

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

Wagner Bianchi

Instrução "INSERT" num banco de dados Access!

Recommended Posts

Olá galera,

 

Primeiramente um Feliz Natal a todos so participantes do Imasters, o melhor fórum de programação em língua portuguesa.

Bom, estou apresndendo Asp para mexer com algumas aplicações e por enquanto, estou ainda naquela fase "incomoda" que tudo são testes e que você realmente necessita passar por ela.

O problema é o seguinte, tá dando pau no código e não consigo entender o POR QUÊ !! eheh, só quero inserir dados no banco access e não consigo atribuir as variáveis na consulta. Me parece que tem uma sintaxe especial para isso, mas nas minhas referências, não consegui encontrar algo que pudesse me ajudar.

 

Segue o source:

 

<%	'declaração de variáveis	Option Explicit	'criando as variáveis	Dim rsTitulo	Dim rsDesc	Dim rsSubmit	Dim rsMsg	Dim sql	Dim cn	Dim rs	'recuperando da memória	rsTitulo = Request.Form("rsTitulo")	rsDesc   = Request.Form("rsDesc")	rsSubmit = Request.Form("rsSubmit")	'condiconal e possível inserção na base de dados Access	if (rsSubmit <> "Cadatsrar") then		rsMsg	 = "Preencha os campos corretamente!"	else		'Criando um obejto de conexão com um banco Access		set cn = Server.CreateObject("ADODB.Connection")		cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db\bd_teste.mdb") & ";Persist Security Info=False"		'inserindo informações no banco, caso se ja falsa a declaração		set rs = Server.CreateObject("ADODB.Recordset")		sql	= "insert into tbl_noticia(noticia_titulo,noticia_desc) values ('','')"		set rs = cn.Execute(sql)		rsMsg	 = "A notícia foi cadastrada com sucesso!"	end if%><html><head>	<title>:: CADASTRAR NOTÍCIAS ::</title></head><body><form name="cadastro" action="<%= Request.ServerVariables("cadastrar.asp") %>" method="post"><p><%= rsMsg %></p><br><br><p>Título da notícia: <input type="text" name="rsTitulo" size="25" maxlength="25"></p><p>Descrição da notícia: <input type="text" name="rsDesc" size="25" maxlength="25"></p><p><input type="submit" name="rsSubmit" value="Cadatsrar"></p></form></body></html>

Alguém poderia me ajudar???

 

Obrigado a todos e que DEUS ABENÇÕE!! :natalwink: :noel: :natalwink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro exatamente???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essse ó:

Tipo de erro:Microsoft JET Database Engine (0x80004005)A operação deve usar uma consulta atualizável./www/testes/noticias/cadastrar.asp, line 30

Sei que esse erro é bem salientado na internet e indagado dentre muita gente, mas não consegui as respostas para resolver o problema. . .Me ajudem, por favor. . .Obrigado cara... :natalwink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae amigo não entendi muito bem...mais sei que você quer cadastra a noticia no banco, certo,...<% 'declaração de variáveis Option Explicit 'criando as variáveis Dim rsTitulo Dim rsDesc Dim rsSubmit Dim rsMsg Dim sql Dim cn Dim rs 'recuperando da memória rsTitulo = Request.Form("rsTitulo") rsDesc = Request.Form("rsDesc") rsSubmit = Request.Form("rsSubmit")Ae não entendo pq dessa condição...pq pergunta se é posivel inserção na base de dadosainda esse rsSubmit é o que??Ainda esse Cadatsrar vem da onde é o quie....acho que não precisa pergunta se pode ou não coloca no banco...é so coloca, insert...você pode pergunta se ja existe noticia_titulo = rsTitulo e noticia_desc = rsDesc se tiver impossivel cadastra...se não cadastra...outra coisa o values esta vazio... 'condiconal e possível inserção na base de dados Access if rsSubmit <> "Cadatsrar" then rsMsg = "Preencha os campos corretamente!" else 'Criando um obejto de conexão com um banco Access set cn = Server.CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db\bd_teste.mdb") & ";Persist Security Info=False" 'inserindo informações no banco, caso se ja falsa a declaração set rs = Server.CreateObject("ADODB.Recordset") sql = "insert into tbl_noticia(noticia_titulo,noticia_desc) values ('rsTitulo','rsDesc')" set rs = cn.Execute(sql) rsMsg = "A notícia foi cadastrada com sucesso!" end if%><html><head> <title>:: CADASTRAR NOTÍCIAS ::</title></head><body><form name="cadastro" action="<%= Request.ServerVariables("cadastrar.asp") %>" method="post"><p><%= rsMsg %></p><br><br><p>Título da notícia: <input type="text" name="rsTitulo" size="25" maxlength="25"></p><p>Descrição da notícia: <input type="text" name="rsDesc" size="25" maxlength="25"></p><p><input type="submit" name="rsSubmit" value="Cadatsrar"></p></form></body></html>espero te ajudado ....fuiiirenanxa@gmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma pequena correção:

 

sql = "insert into tbl_noticia(noticia_titulo,noticia_desc) values ('" & rsTitulo & "','" & rsDesc & "')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae não entendo pq dessa condição...pq pergunta se é posivel inserção na base de dadosainda esse rsSubmit é o que??Ainda esse Cadatsrar vem da onde é o quie....acho que não precisa pergunta se pode ou não coloca no banco...renanxa@gmail.com

Opa, Tranquilo cara?? Bom dia!! Seguinte, me previno, enviando a variável do "submit" no caso do usuário ficar dando refresh na tela. Por isso envio a variável "rsSubmit". . .programa assim em PHP, como disse estou aprendendo Asp usando a mesma lógica que uso em PHP. . . Bom, o erro está sendo apontado para a seguinte linha:

set rs = cn.Execute(sql)

Alguém tem alguma idéia do que pode ser??Obrigado a todos e que DEUS abençõe!! :natalwink: :noel: :natalwink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem tiozinho aparentemente o erro é apenas de permissão de escrita no diretorio do DB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, eheheh, já liberei as permissões e tals. . .pode ser erro no Microsoft Jet Database Engine ?Abraço!! :natalwink:

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.