Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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:
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:
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
Só uma pequena correção:
sql = "insert into tbl_noticia(noticia_titulo,noticia_desc) values ('" & rsTitulo & "','" & rsDesc & "')"
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:
bem tiozinho aparentemente o erro é apenas de permissão de escrita no diretorio do DB
Opa, eheheh, já liberei as permissões e tals. . .pode ser erro no Microsoft Jet Database Engine ?Abraço!! :natalwink:
qual o erro exatamente???