Ir para conteúdo

POWERED BY:

Arquivado

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

Saulo_Fer

Erro ao Inserir Dados

Recommended Posts

Galera, sou novo aqui no fórum do iMasters, mas sou leitor a muito tempo aqui do site, e agora resolvi me aventurar no aprendizado do ASP, o problema eh que não tenho a quem recorrer, então resolvi buscar a ajuda de vocês.o caso é o seguinte, durante o meu aprendizado, existe uma página onde tenho de fazer a inclusão de filmes, da seguinte maneira, Nome do Filme, Genero e Valor, bom, o cambo Genero, é puxado da tabela Genero, e feito uma cortina de listagem com as opções disponíveis, bom, quando eu clico no botão OK, pra que o cadastro seja efetuado ocorre o seguinte erro...

Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'Monstros SA',<"%=lista_genero("gen_codigo")%"''./cad_filmes.asp, line 23

essa é a line 23 onde ele diz ocorrer o erro

Conexao.Execute (SQL)

Depois de uma pequena mudança no código, onde eu retirei aparentemente o erro com aquelas aspas que estão a mais, ocorre o seguinte, a caixa de listagem não mais "puxa" as categorias dos filmes, mas sim ficam espaços vazios, e depois da inclusão ocorre o seguinte erro

Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'Monstros SA',2Comédia</option''./cad_filmes.asp, line 23

bom, não faço idéia do que possa estar ocorrendo, mas mesmo assim gostaria de pedia a ajuda de vocês a esse pobre amador aqui... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes deConexao.Execute (SQL)poeresponse.write(SQL)response.ende posta aqui o que aparecer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

INSERT INTO Filmes(fil_nome,gen_codigo,fil_valorlocacao)Values(Monstros SA',2',3,00')aparece isso aemas seguindo oq está na minha apostila deveria estar escrito assimINSERT INTO Filmes(fil_nome,gen_codigo,fil_valorlocacao)Values("Monstros SA","2","3,00")

Compartilhar este post


Link para o post
Compartilhar em outros sites

<% If Request.ServerVariables("REQUEST_METHOD") = "POST" Then SQL = "INSERT INTO Filmes(" SQL = SQL & "fil_nome," SQL = SQL & "gen_codigo," SQL = SQL & "fil_valorlocacao)" SQL = SQL & "Values(" SQL = SQL & "" &Request.Form("nome")& "'," SQL = SQL & "" &Request.Form("genero")& "'," SQL = SQL & "" &Request.Form("valorlocacao")& "')" Conexao.Execute (SQL) Conexao.Close Response.Write "Filmes cadastrado com sucesso!"%>Esse???

Compartilhar este post


Link para o post
Compartilhar em outros sites

separa o values...ta tudo junto ali...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente e isso, e depois diga o que aconteceu...

 

ASP

[*]

 

[*]<%

 

[*]StrNome Request.Form("nome")

 

[*]StrGenero Request.Form("genero")

 

[*]StrValorLocacao Request.Form("valorlocacao")

 

[*]

 

[*]IF Request.ServerVariables("REQUEST_METHOD""POST" THEN

 

[*]SQL "INSERT INTO Filmes( fil_nome, gen_codigo, fil_valorlocacao )"

 

[*]SQL = SQL & " Values "

 

[*]SQL = SQL & " ('"&StrNome&"', '"&StrGenero&"','"&StrValorLocacao&"') "

 

[*] SET RS Conexao.execute(SQL)

 

[*]Conexao.Close

 

[*]Response.Write "Filmes cadastrado com sucesso!"

 

[*]END IF 

 

[*]%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem mais erro tb...as strings estao sendo mal fechadas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

não olhei o seu trigo...só o que saido no response.write...

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera, sendo assim, vcs acham que daria certo...

SERT INTO Filmes(fil_nome,gen_codigo,fil_valorlocacao)Values('Monstros SA','1','3,00')

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera, sendo assim, vcs acham que daria certo...

 

SERT INTO Filmes(fil_nome,gen_codigo,fil_valorlocacao)Values('Monstros SA','1','3,00')

se todos os campos forem texto e se você separar o values dos parenteses acho que sim...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP

[*]

 

[*]<%

 

[*]StrNome Request.Form("nome")

 

[*]StrGenero Request.Form("genero")

 

[*]StrValorLocacao Request.Form("valorlocacao")

 

[*]

 

[*]SQL "INSERT INTO Filmes( fil_nome, gen_codigo, fil_valorlocacao )"

 

[*]SQL = SQL & " Values "

 

[*]SQL = SQL & " ('"&StrNome&"', '"&StrGenero&"','"&StrValorLocacao&"') "

 

[*] SET RS Conexao.execute(SQL)

 

[*]Conexao.Close

 

[*]

 

[*]Response.Write "Filmes cadastrado com sucesso!"

 

[*]

 

[*]%>

 

[*]

 

coloque esse codigo....poste ae o seu codigo de conexa com o banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for possível de uma olhada em todo o codigo e se puder me diga onde esta o erro.

 

 

ASP

[*]<%@ LANGUAGE = VBScript %>

 

[*]<!--#include file="conexao.asp"-->

 

[*]

 

[*]<html>

 

[*]<head>

 

[*]<title> |Spider Movies ... Cadastro de Filmes|</title>

 

[*]</head>

 

[*]<body leftmargin="60" topmargin="30">

 

[*]<center>

 

[*]<font face="verdana" size="2" color="brown">

 

[*]

 

[*]<%

 

[*] If Request.ServerVariables("REQUEST_METHOD""POST" Then

 

[*] SQL "INSERT INTO Filmes("

 

[*] SQL = SQL & "fil_nome,"

 

[*] SQL = SQL & "gen_codigo,"

 

[*] SQL = SQL & "fil_valorlocacao)"

 

[*]

 

[*] SQL = SQL & "Values("

 

[*] SQL = SQL & "'" &Request.Form("nome")& "',"

 

[*] SQL = SQL & "'" &Request.Form("genero")& "',"

 

[*] SQL = SQL & "'" &Request.Form("valorlocacao")& "')"

 

[*] Conexao.Execute (SQL)

 

[*] Conexao.Close

 

[*] Response.Write "Filmes cadastrado com sucesso!"

 

[*]%>

 

[*] <p>

 

[*] <a href="cad_filmes.asp">

 

[*] <img scr="imagens/cad_proximo.gif" border="0"></a>

 

[*]<%Else%>

 

[*]

 

[*]<form method="POST" action="cad_filmes.asp">

 

[*]<table border="0" cellpadding="10" cellspacing="0">

 

[*]<tr><td>

 

[*]<font face="Verdana" size="4" color="brown">

 

[*]<b><center>Cadastro de Filmes</center></b></font>

 

[*]</td></tr>

 

[*]<tr><td>

 

[*]<font face="Verdana" size="2" color="brown">

 

[*]Nome do Filme: <br>

 

[*]<input type="text" name="nome" size="50" maxlength="50"><p>

 

[*]Gênero: <br>

 

[*]<select name=genero>

 

[*]<%

 

[*] set lista_genero Conexao.Execute("SELECT * FROM Genero")

 

[*] While not lista_genero.EOF

 

[*]%>

 

[*] <option value="<%=lista_genero("gen_codigo")%>">

 

[*] <%=lista_genero("gen_descricao")%></option>

 

[*]<%

 

[*] lista_genero.MoveNext

 

[*] Wend

 

[*]%>

 

[*]</select>

 

[*]<p>

 

[*]Valor R$: 0,00 <br>

 

[*]<input type="text" name="valorlocacao" size="10" maxlength="10"><br>

 

[*]</font>

 

[*]</td></tr>

 

[*]</tr><td>

 

[*]<center>

 

[*]<input type="image" name="submit" src="imagens/enviar2.gif"

 

[*]  width="70" height="22"></center>

 

[*]</center>

 

[*]<p>

 

[*]</td>

 

[*]</tr>

 

[*]</table>

 

[*]</form>

 

[*]

 

[*]<%End If%>

 

[*]</center>

 

[*]</body>

 

[*]</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

troca

 

ASP

    [*]<%

     

    [*]

     

    [*] If Request.ServerVariables("REQUEST_METHOD""POST" Then

     

    [*]

     

    [*] SQL "INSERT INTO Filmes("

     

    [*]

     

    [*] SQL = SQL & "fil_nome,"

     

    [*]

     

    [*] SQL = SQL & "gen_codigo,"

     

    [*]

     

    [*] SQL = SQL & "fil_valorlocacao)"

     

    [*]

     

    [*]

     

    [*]

     

    [*] SQL = SQL & "Values("

     

    [*]

     

    [*] SQL = SQL & "'" &Request.Form("nome")& "',"

     

    [*]

     

    [*] SQL = SQL & "'" &Request.Form("genero")& "',"

     

    [*]

     

    [*] SQL = SQL & "'" &Request.Form("valorlocacao")& "')"

     

    [*]

     

    [*] Conexao.Execute (SQL)

     

    [*]

     

    [*] Conexao.Close

     

    [*]

     

    [*] Response.Write "Filmes cadastrado com sucesso!"

     

    [*]

     

    [*]%>

 

por

 

ASP

    [*]<%

     

    [*]

     

    [*] If Request.ServerVariables("REQUEST_METHOD""POST" Then

     

    [*] SQL "INSERT INTO Filmes ("

     

    [*] SQL = SQL & "fil_nome,"

     

    [*] SQL = SQL & "gen_codigo,"

     

    [*] SQL = SQL & "fil_valorlocacao)"

     

    [*] SQL = SQL & " Values ("

     

    [*] SQL = SQL & "'" &Request.Form("nome")& "',"

     

    [*] SQL = SQL & "'" &Request.Form("genero")& "',"

     

    [*] SQL = SQL & "'" &Request.Form("valorlocacao")& "')"

     

    [*] Conexao.Execute (SQL)

     

    [*] Conexao.Close

     

    [*]

     

    [*] Response.Write "Filmes cadastrado com sucesso!"

     

    [*]%>

 

me diz uma coisa, os tres campos sao texto no db??

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.