Ir para conteúdo
Fórum Script Brasil
  • 0

Insert Into


sergiotp

Pergunta

E ae glr beleza?

tipo, to querendo incluir dados em um banco de dados. So q ta muito estranho

no diretorio raiz do site eu fiz uma pag com o comando insert into e deu certo, depois criei uma outra pasta com o nome de admin, dai fui fazer outra pag com o comando insert into e ta dando erro, o erro é esse aq:

Tipo de erro:

Microsoft JET Database Engine (0x80040E14)

Erro de sintaxe na instrução INSERT INTO.

/site/admin/scoluna.asp, line 11

E o codigo é esse:

<%Set Conexao = Server.CreateObject("ADODB.Connection")
Dim Dbq
Dbq = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("coluna.mdb") & ";Persist Security Info=False;Jet OLEDB:Database Password="
Conexao.Open Dbq
nome = Request.form("data")
tel = Request.form("desc")
ende = Request.form("texto")


Sql = "Insert Into dados(data,desc,texto) Values ('"& data & "', '"& desc & "', '"& text & "' )"
Set Rs = Conexao.Execute(Sql)
Rs.open
Conexao.close
Set rs = Nothing
Set conexao = Nothing%>

A linha 11 é essa aq: Set Rs = Conexao.execute(Sql)

Mas se eu incluir os dados no banco com o comando add.new da certo, so q depois eu não to conseguindo é listar os dados do bd,

eu tento listar com o comando Select e não mostra a pag fica em branco, por isso tava querendo incluir com o comando insert.

Sem mais...

Desde já agradeço

Abraços

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

caracas !!!

Cara.. você não tem noção.. eu fiz milhares de testes aqui!

Mas achei o problema !!!!!

Olha só:

Não sei porque, não me pergunte..

Mas, O Insert não aceita nenhum campo com o nome de desc !!!

Muda o nome do campo no seu banco de dados, e depois muda no codigo também, e faz um teste!

Vai funcionar !

Cara.. que tosco.. vou ver se descubro o porque dessa 'incompatibilidade', se é que podemos chamar assim!

Certo?

Testa aí, e depois diz pra nós de funcionou!!!

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Opa é isso ae Dark

vlw pela ajuda, so q agora surgiu outro problema

hehehe

é o seguinte

o comando não da mais erro, so q agora os campos do banco ficam em branco cara, so o campo id q é alto numeração ta sendo preenchido, e os outros estão em branco

q q pode ta acontecendo??

e alem disso cada vez q eu insiro dados novos o campo de alto numeraçao não vai de um em um, ele se auto coloca 2 registros, ele não numera so um e sim um e dois e quando ponho outro ele poe mais dois sendo assim vai pra três e quatro

ta duplicando os registros, e volto a repetir, os outros campos estão ficando em branco.

E também quando vo listar o que a pessoa enviou <%=nome%> por exemplo ele não aparece nada cara. Sendo q a variavel já ta declarada.

Ajudem ae

Desde já agradeço

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Olha só:

Não sei porque, não me pergunte..

Mas, O Insert não aceita nenhum campo com o nome de desc !!!

cara.. já aconteceu isso comigo uma vez mas com outro nome do campo...

e pelo q eu entendi, ele não aceita nome de campos com os mesmos nomes de comando, exemplo do nosso amigo o campo desc em sql esse comando quer dizer para fazer a listagem em decrescente e tals... ele pode fazer o teste para ver se confirma o q eu entendi.. mude o campo de desc para asc e verifique se ele da o mesmo erro, ou mude para into e assim vai..

smile.gif bom.. quando deu o erro no meu foi quase igual o do nosso amigo ai.. o meu campo estava com um nome de comando sad.gif

iihhihi

[]´s

Link para o comentário
Compartilhar em outros sites

  • 0
Opa é isso ae Dark

vlw pela ajuda, so q agora surgiu outro problema

hehehe

é o seguinte

o comando não da mais erro, so q agora os campos do banco ficam em branco cara, so o campo id q é alto numeração ta sendo preenchido, e os outros estão em branco

q q pode ta acontecendo??

e alem disso cada vez q eu insiro dados novos o campo de alto numeraçao não vai de um em um, ele se auto coloca 2 registros, ele não numera so um e sim um e dois e quando ponho outro ele poe mais dois sendo assim vai pra três e quatro

ta duplicando os registros, e volto a repetir, os outros campos estão ficando em branco.

E também quando vo listar o que a pessoa enviou <%=nome%> por exemplo ele não aparece nada cara. Sendo q a variavel já ta declarada.

Ajudem ae

Desde já agradeço

Abraços

<%Set Conexao = Server.CreateObject("ADODB.Connection")
Dim Dbq
Dbq = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("coluna.mdb") & ";Persist Security Info=False;Jet OLEDB:Database Password="
Conexao.Open Dbq
nome = Request.form("data")
tel = Request.form("desc")
ende = Request.form("texto")


Sql = "Insert Into dados(data,desc,texto) Values ('"& data & "', '"& desc & "', '"& text & "' )"
Set Rs = Conexao.Execute(Sql)
Rs.open
Conexao.close
Set rs = Nothing
Set conexao = Nothing%>

bomnesse codigo eu não vi os request form... para pegar os dados, de onde se ta pegando eles/???

Link para o comentário
Compartilhar em outros sites

  • 0

tinho tenho duas paginas uma com o nome de incluir_coluna.asp

nela tem um form

q pesso pra pesso digitar os seguintes dados

Data, Sobre o que é a coluna, Texto e nome os nomes do text field saum respectivamete data,sobre,texto. E essa pagina envia pelo metodo post para a pagina scoluna.asp. E o codigo da pagina scoluna é esse:

<%Set Conexao = Server.CreateObject("ADODB.Connection")
Dim Dbq
Dbq = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("coluna.mdb") & ";Persist Security Info=False;Jet OLEDB:Database Password="
Conexao.Open Dbq
nome = Request.form("data")
tel = Request.form("sobre")
ende = Request.form("texto")


Sql = "Insert Into dados(data,sobre,texto) Values ('"& data & "', '"& sobre & "', '"& texto & "' )"
Set Rs = Conexao.Execute(Sql)
Rs.open
Conexao.close
Set rs = Nothing
Set conexao = Nothing%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
 <p><br>
 </p>
 <p align="center">Os dados enviados por você foi: </p>
 <table width="778" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
   <tr>
     <th align="center" valign="top" scope="col"><%=request.form("data")%></th>
   </tr>
   <tr>
     <td align="center" valign="top"><%=request.form("sobre")%></td>
   </tr>
   <tr>
     <td align="center" valign="top"><%=request.form("texto")%></td>
   </tr>
 </table>

</body>
</html>

q q ta errado??

Link para o comentário
Compartilhar em outros sites

  • 0

<%Set Conexao = Server.CreateObject("ADODB.Connection")

Dim Dbq

Dbq = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("coluna.mdb") & ";Persist Security Info=False;Jet OLEDB:Database Password="

Conexao.Open Dbq

nome = Request.form("data")

tel = Request.form("sobre")

ende = Request.form("texto")

veja você poenomes diferentes dos quais usa no insert

Sql = "Insert Into dados(data,sobre,texto) Values ('"& data & "', '"& sobre & "', '"& texto & "' )"

Set Rs = Conexao.Execute(Sql)

Rs.open

Conexao.close

Set rs = Nothing

Set conexao = Nothing%>

substitua por:

data = Request.form("data")

sobre = Request.form("sobre")

texto = Request.form("texto")

Link para o comentário
Compartilhar em outros sites

  • 0

tipo veio

eu vo la no campo data coloco a data vo no campo sobre e ponho sobre o que é vo no campo texto e digito o texto ate ai tudo bem.

So q ele não inseri isto somente uma vez, ele coloca isso no banco duas vezes. Dai fica o id 1 e 2 a mesmo coisa saco???

ao invés de inserir isto somente uma vez

ele ta inserindo 2 vezes.

fiz uns testes e com o dataform eu gerei um script de inclusao pra ver como ficava. Ficou assim

<html>
<head>
<title>teste</title>
</head>
<body>
<center>
  <font face="Arial" size="4"><b>Incluir coluna </b>
</center>

<%
If IsEmpty( Request.Form("submit") ) Then
%>

<form method=post action="<%=Request.ServerVariables("script_name")%>">
  <table border=0 width="80%" align=center>
    <tr bgcolor="#999999">
      <td colspan="2" align=right valign=top><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:.Dados:.</font></div></td>
    </tr>
    <tr>
      <td width="15%" align=right valign=top bgcolor="#CCCCCC"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">data:</font></td>
      <td width="85%" align=left valign=top> <font face="Arial" size="2">
        <input type=text name="data" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">
      </font></td>
    </tr>
    <tr>
      <td align=right valign=top bgcolor="#CCCCCC"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">sobre:</font></td>
      <td align=left valign=top> <font face="Arial" size="2">
        <input type=text name="sobre" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">
      </font></td>
    </tr>
    <tr>
      <td align=right valign=top bgcolor="#CCCCCC"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">texto:</font></td>
      <td align=left valign=top> <font face="Arial" size="2">
        <textarea name="texto" cols="30" rows="5" id="texto"></textarea>
</font></td>
    </tr>
  </table>
  <center><input type=submit name=submit value=Incluir style="{<font-family:Arial; font-size:12}"></center>
</form>

<%
Else
  If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("data")) <> ""  AND Trim(Request.Form("sobre")) <> ""  AND Trim(Request.Form("texto")) <> ""  Then
    Set Conexao = Server.CreateObject("ADODB.Connection")
    Dim Dbq
	Dbq = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("coluna.mdb") & ";Persist Security Info=False;Jet OLEDB:Database Password="
	Conexao.Open Dbq
    ComandoSQL = "INSERT INTO dados (data, sobre, texto)"
    ComandoSQL = ComandoSQL & " VALUES ("
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("data")) & "',"
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("sobre")) & "',"
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("texto")) & "')"
    Set bd = Conexao.Execute(ComandoSQL)
    Conexao.Close
    Set bd = Nothing
    Set Conexao = Nothing
%>

   <font face="Arial" size="2">
   <center>
   <p><br>
     Os dados foram enviados com sucesso!     </p>
   <table width="353" border="0" bordercolor="#000000">
     <tr bgcolor="#999999">
       <td colspan="2"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:.Dados:.</font></div></td>
     </tr>
     <tr>
       <td width="45" bgcolor="#CCCCCC"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Data:</font></td>
       <td width="139"><%=data%></td>
     </tr>
     <tr>
       <td bgcolor="#CCCCCC"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sobre:</font></td>
       <td><%=sobre%></td>
     </tr>
     <tr>
       <td bgcolor="#CCCCCC"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Texto:</font></td>
       <td><%=texto%></td>
     </tr>
   </table>
   <p><br>
       <a href="index.asp"><b>Clique aqui</b></a> para continuar</p>
   </font></center>

<%
  Else
%>

   <font face="Arial" size="2">
   <center><br>Atenção: Alguns dados necessário não foram preenchidos corretamente

   <br><a href="javascript:history.go(-1)"><b>Clique aqui</b></a> para voltar</font></center>

<%
  End If
End If
%>

</body>
</html>

com esse script ele insere somente uma vez não duas, não sei porque.

E novamente não to conseguindo listar as variaveis, iniciante é foda, to dando um trabalhao pra vocês.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

hehe

olá amigo, tudo bem?

Hoje o dia foi corrido aqui.. hehe

então.. o erro não dá mais, né?

Valeu a explicação Pigmeu, acho que é isso aí mesmo..show de bola.

Quanto ao problema de inserir 2 vezes..

Veja se seu codigo não está fazendo 2 inserts..

quem sabe seja algo assim, e por isso ele insere 2 vezes.

Ou então posta o codigo aí!

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
tinho tenho duas paginas uma com o nome de incluir_coluna.asp

nela tem um form

q pesso pra pesso digitar os seguintes dados

Data, Sobre o que é a coluna, Texto e nome os nomes do text field saum respectivamete data,sobre,texto. E essa pagina envia pelo metodo post para a pagina scoluna.asp. E o codigo da pagina scoluna é esse:

<%Set Conexao = Server.CreateObject("ADODB.Connection")
Dim Dbq
Dbq = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("coluna.mdb") & ";Persist Security Info=False;Jet OLEDB:Database Password="
Conexao.Open Dbq
nome = Request.form("data")
tel = Request.form("sobre")
ende = Request.form("texto")


Sql = "Insert Into dados(data,sobre,texto) Values ('"& data & "', '"& sobre & "', '"& texto & "' )"
Set Rs = Conexao.Execute(Sql)
Rs.open
Conexao.close
Set rs = Nothing
Set conexao = Nothing%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
 <p><br>
 </p>
 <p align="center">Os dados enviados por você foi: </p>
 <table width="778" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
   <tr>
     <th align="center" valign="top" scope="col"><%=request.form("data")%></th>
   </tr>
   <tr>
     <td align="center" valign="top"><%=request.form("sobre")%></td>
   </tr>
   <tr>
     <td align="center" valign="top"><%=request.form("texto")%></td>
   </tr>
 </table>

</body>
</html>
q q ta errado??
esse seu codigo num verifica se foi dado submit no formulario.... tem colocar essa verificação:
If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("data")) <> ""  AND Trim(Request.Form("sobre")) <> ""  AND Trim(Request.Form("texto")) <> ""  Then

no dat form ele fez esta verificação....

eu sempre uso dois arquivos um so do form e outro so pra inserir acho mais facil...

Link para o comentário
Compartilhar em outros sites

  • 0

Eu também faço isso bareta

Tem como ele fazer 2 inserts aq?

veja so o codigo:

<%Set Conexao = Server.CreateObject("ADODB.Connection")
Dim Dbq
Dbq = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("coluna.mdb") & ";Persist Security Info=False;Jet OLEDB:Database Password="
Conexao.Open Dbq
data = Request.form("data")
sobre = Request.form("sobre")
texto = Request.form("texto")


Sql = "Insert Into dados(data,sobre,texto) Values ('"& data & "', '"& sobre & "', '"& texto & "' )"
Set Rs = Conexao.Execute(Sql)
Rs.open
Conexao.close
Set rs = Nothing
Set conexao = Nothing%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
 <p><br>
 </p>
 <p align="center">Os dados enviados por você foi: </p>
 <table width="778" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
   <tr>
     <th align="center" valign="top" scope="col"><%=request.form("data")%></th>
   </tr>
   <tr>
     <td align="center" valign="top"><%=request.form("sobre")%></td>
   </tr>
   <tr>
     <td align="center" valign="top"><%=request.form("texto")%></td>
   </tr>
 </table>

</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz isso q tu falo ae bareta

coloquei isso aq:

If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("data")) <> "" AND Trim(Request.Form("sobre")) <> "" AND Trim(Request.Form("texto")) <> "" Then

e ele continua inserindo 2 vezes, já com o codigo do dataform não acontece isso :S

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

<%
If IsEmpty( Request.Form("submit") ) Then
%>
ai vem o form porque não foi dado submit ainda
<%
Else
 If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("data")) <> ""  AND Trim(Request.Form("sobre")) <> ""  AND Trim(Request.Form("texto")) <> ""  Then%>
ai aqui o insert e diz que foi inserid com sucesso
<%
 Else
%>
deu erro
<%
 End If
End If
%>

você pode ir olhando a logica que o dataform fez e aprtir dele montar o seu...

Link para o comentário
Compartilhar em outros sites

  • 0

hmm..

posta seu codigo aí pra gente ver como ele ficou agora!

Link para o comentário
Compartilhar em outros sites

  • 0

Ta assim agora

Código do formulario q se chama incluir_coluna.asp

<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
.style1 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
}
-->
</style>
<form name="form1" method="post" action="scoluna.asp">
  <table width="778" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
    <tr>
      <td width="108" class="style1">Data:</td>
      <td width="664"><input name="data" type="text" id="data">      </td>
    </tr>
    <tr>
      <td class="style1">Sobre o que &eacute; :</td>
      <td><input name="sobre" type="text" id="sobre"></td>
    </tr>
    <tr>
      <td class="style1">Texto:</td>
      <td><textarea name="texto" cols="50" rows="7" id="texto"></textarea></td>
    </tr>
    <tr>
      <td colspan="2" class="style1"><div align="center">
        <input type="submit" name="Submit" value="Enviar">
      </div></td>
    </tr>
    <tr>
      <td colspan="2" class="style1"><div align="center">*Lembrando que todos os dados saum obrigat&oacute;rios </div></td>
    </tr>
  </table>
</form>
Código q recebe as variaveis do form e as incluem no bd, a pag chama scoluna.asp
<%
If IsEmpty( Request.Form("submit") ) Then
%>
<%
Else
If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("data")) <> ""  AND Trim(Request.Form("sobre")) <> ""  AND Trim(Request.Form("texto")) <> ""  Then
Set Conexao = Server.CreateObject("ADODB.Connection")
Dim Dbq
Dbq = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("coluna.mdb") & ";Persist Security Info=False;Jet OLEDB:Database Password="
Conexao.Open Dbq
data = Request.form("data")
sobre = Request.form("sobre")
texto = Request.form("texto")


Sql = "Insert Into dados(data,sobre,texto) Values ('"& data & "', '"& sobre & "', '"& texto & "' )"
Set Rs = Conexao.Execute(Sql)
Rs.open
Conexao.close
Set rs = Nothing
Set conexao = Nothing%>
<%
Else
%>
<%
End If
End If
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style5 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }
-->
</style>
</head>

<body>
 <p><br>
 </p>
 <p align="center">&nbsp;</p>
 <table width="576" border="2" align="center" bordercolor="#000000">
   <tr bgcolor="#999999">
     <td colspan="2" align="center" valign="top" class="style5" scope="col">Os dados enviados por voc&ecirc; foram: </td>
   </tr>
   <tr>
     <td width="138" align="center" valign="top" bgcolor="#CCCCCC" scope="col"><span class="style5">Data:</span></td>
     <th width="634" align="center" valign="top" scope="col"><%=request.form("data")%></th>
   </tr>
   <tr>
     <td align="center" valign="top" bgcolor="#CCCCCC"><span class="style5">Sobre o que &eacute;: </span></td>
     <td align="center" valign="top"><%=request.form("sobre")%></td>
   </tr>
   <tr>
     <td align="center" valign="top" bgcolor="#CCCCCC"><span class="style5">Texto:</span></td>
     <td align="center" valign="top"><%=request.form("texto")%></td>
   </tr>
 </table>

</body>
</html>

É isso ae glr, porque sera q ta incluindo 2 vezes? já discuti com um amigo meu q mexe a mais tempo q eu, e ele também não soube solucionar

Espero q isso ajude, e q vocês me ajudem também hehehe

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

vou dar uma ideia

data = Request.form("data")
sobre = Request.form("sobre")
texto = Request.form("texto")

conexao//////////////poe ela aqui

Sql = "Insert Into dados(data,sobre,texto) Values ('"& data & "', '"& sobre & "', '"& texto & "' )"
Set Rs = Conexao.Execute(Sql)
response.redirect "sucess.asp"

essa será pagina que inclui..

ai faz um formulario em outra pagina que manda pra essa... com uma validação em javascript!!!!!!

obs: depois vou analisar seu codigo e testa-lo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...