Ir para conteúdo

POWERED BY:

Arquivado

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

leslei

Formulario ASP nao envia dados pro BD MYSQL

Recommended Posts

Boa noite.

Sou novo por aqui, estou mexendo agora com ASP.

Estou tentando fazer com que um formulario ASP envie os dados

para uma tabela num BD MySql. A conexão está sendo feita,

mas os quando clico em enviar, para enviar os dados ao banco

de dados no banco de dados os campos ficam vazios, só aparece

NULL. O que pode ser o erro?

 

Seguem os codigos.

 

CADASTRO.ASP

CODE
<%

 

<!--#include file="../includes/functions.inc"-->

 

Dim strConn

Dim objConnect

Dim strSql

Dim data

Dim grupo

Dim nom

Dim unites

 

data = request.Form("data")

grupo = request.Form("grupo")

nom = request.Form("nom")

unites = request.Form("unites")

 

' CONECTA AO BANCO DE DADOS E ABRE

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

cnnDB.ConnectionString = "Driver={MySQL ODBC 3.51 Driver};Server=123.456.789;database=nomedobanco;uid=nomedousername;pwd=123456"

cnnDB.Open

 

 

' INSERE DADOS NO BANCO DE DADOS

 

strSql = " Insert Into formation(grupo,nom,unites) Values(grupo,nom,unites)"

 

cnnDB.Execute(strSql)

 

 

 

%>

Pagina com o formulario (Formation.asp)

 

CODE
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>formation</title>

<style type="text/css">

.style4 {

font-family: Arial, Helvetica, sans-serif;

font-size: 12px;

font-weight: bold;

}

.style5 {font-family: Arial, Helvetica, sans-serif; font-weight: bold;}

body {

background-image: url(img/bg_af.gif);

}

.style13 {

color: #9A1703;

font-family: Arial, Helvetica, sans-serif;

font-size: 12px;

font-weight: bold;

}

</style>

</head>

 

<body>

<form action="cadastro.asp" method="post" name="form" id="form">

<div align="left"> <span class="style13">

<input name="local" type="hidden" id="local" value="formation">

</span></div>

<table width="602" border="0" cellpadding="4" cellspacing="4">

<tr>

<td width="257" valign="top"><div align="right"><span class="style13">Grupo</span></div></td>

<td width="329" nowrap><span class="style13">

<input name="grupo" type="radio" value="A">

Groupe A<br>

<input name="grupo" type="radio" value="B">

Groupe B<br>

<input name="grupo" type="radio" value="C">

Groupe C<br>

<input name="grupo" type="radio" value="D">

Groupe D</span></td>

</tr>

<tr>

<td valign="top"><div align="right"><span class="style13">Nom, prénom </span></div></td>

<td><span class="style13">

<input name="nom" type="text" size="23">

</span></td>

</tr>

<tr>

<td><div align="right"><span class="style13">Unités </span></div></td>

<td><span class="style13">

<select name="unites">

<option>- - - - - - - - - - - - - - - - - - - - -</option>

<option value="Brooklin">Brooklin</option>

<option value="Butantã">Butantã</option>

<option value="Centro">Centro</option>

<option value="Jardim América">Jardim América </option>

<option value="Morumbi">Morumbi</option>

<option value="Tatuapé">Tatuapé </option>

<option value="Vila Madalena-Sumaré">Vila Madalena-Sumaré</option>

<option value="Vila Mariana">Vila Mariana</option>

</select>

</span></td>

</tr>

<tr>

<td rowspan="2"></td>

<td valign="top"><a href="#"><img src="img/envoyer.jpg" width="89" height="30" border="0" onClick="java script:document.form.submit();"></a> <a href="index.htm"><img src="img/retour.jpg" alt="Retour" width="89" height="30" border="0"></a></td>

</tr>

<tr>

<td valign="top"></td>

</tr>

</table>

<p align="left">

</form>

</body>

</html>

 

Desde ja muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite leslei!

Esse cógo não funciona legal, mas tem esse

<%
dim dbasepath
dim provider

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

dbasepath = ""& Server.mappath("SEU_BANCO.mdb")&""
provider = "Microsoft.Jet.OLEDB.4.0"
%>
<%
'objetos
CS.Connectionstring = dbasepath
CS.Provider = provider
CS.Open connstring
%>

agora cria o recordset

Set RS = Server.CreateObject("ADODB.Recordset") //RS é a variável

depois voce aplica a sql para inserir

sql = "INSERT INTO NOME_TABELA(campo1,campo2) VALUES ('"& campo1 &"', '"& campo2 &"')"
Set RS = CS.Execute(sql)

existem mais códigos para otimizar, como voce está começando, isso vai te ajudar.

Testa aew e manda o que aconteceu.

Boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite leslei!

Esse cógo não funciona legal, mas tem esse

<%

dim dbasepath

dim provider

 

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

 

dbasepath = ""& Server.mappath("SEU_BANCO.mdb")&""

provider = "Microsoft.Jet.OLEDB.4.0"

%>

<%

'objetos

CS.Connectionstring = dbasepath

CS.Provider = provider

CS.Open connstring

%>

 

agora cria o recordset

Set RS = Server.CreateObject("ADODB.Recordset") //RS é a variável

 

depois voce aplica a sql para inserir

sql = "INSERT INTO NOME_TABELA(campo1,campo2) VALUES ('"& campo1 &"', '"& campo2 &"')"

Set RS = CS.Execute(sql)

 

existem mais códigos para otimizar, como voce está começando, isso vai te ajudar.

Testa aew e manda o que aconteceu.

Boa sorte

Paulo,

uma duvida, esses dados eu deixo no cadastro.asp?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

esqueci de colocar isso.

antes do codigo

 

dim dbasepath

dim provider

 

voce tem que resgatar os valores do form.

exemplo:

nome_do_campo1 = request.form("nome_do_campo_1")

voce tem que fazer esse procedimento com os outros campos do seu from,

basta colocar o nome do campo no lugar de nome_do_campo

repita esse procedimento para cada campo

espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

esqueci de colocar isso.

antes do codigo

 

dim dbasepath

dim provider

 

voce tem que resgatar os valores do form.

exemplo:

nome_do_campo1 = request.form("nome_do_campo_1")

voce tem que fazer esse procedimento com os outros campos do seu from,

basta colocar o nome do campo no lugar de nome_do_campo

repita esse procedimento para cada campo

espero ter ajudado

Sim, esta ajudando muito Paulo.

E onde eu insiro os dados do servidor, username.. senha.. etc?

Compartilhar este post


Link para o post
Compartilhar em outros sites

inicialmente quais os dados que nao estavam sendo recuperados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

inicialmente quais os dados que nao estavam sendo recuperados?

Boa noite Mario.

Os 4 campos do formulario

 

Nom

grupo

data

unites

 

Nenhum delas aparece na tabela do mysql

apareceu que foi enviado, ele chega a criar uma

linha na tabela do BD mas os campos aparecem NULL

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

abaixo de onde recupera voce tentou mandar escrever os valores para ter certeza de que nao vem

 

so um dos quatro que nao encontrei no form

 

o resto deveria esta pegando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa cara

pensei que estava usando access, agora que vi

se você já instalou o dirver ODBC e o mysql ta funcionando,

igonra os seguintes itens

<%

dim dbasepath

dim provider

 

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

 

dbasepath = ""& Server.mappath("SEU_BANCO.mdb")&""

provider = "Microsoft.Jet.OLEDB.4.0"

%>

e coloca esse

<%

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

cnnDB.ConnectionString = "driver=MySQL;server=127.0.0.1; uid=usuario mysql geralment é root; pwd=senha mysql; database=banco_de_dados"

cnnDB.Open

%>

 

e na parte do

sql = "INSERT INTO NOME_TABELA(campo1,campo2) VALUES ('"& campo1 &"', '"& campo2 &"')"

Set RS = cnnDB.Execute(sql)

você coloca

sql = "INSERT INTO NOME_TABELA(campo1,campo2) VALUES ('"& campo1 &"', '"& campo2 &"')"

RS.Open sql

 

tenta essas mudanças que te passei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa cara

pensei que estava usando access, agora que vi

se você já instalou o dirver ODBC e o mysql ta funcionando,

igonra os seguintes itens

<%

dim dbasepath

dim provider

 

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

 

dbasepath = ""& Server.mappath("SEU_BANCO.mdb")&""

provider = "Microsoft.Jet.OLEDB.4.0"

%>

e coloca esse

<%

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

cnnDB.ConnectionString = "driver=MySQL;server=127.0.0.1; uid=usuario mysql geralment é root; pwd=senha mysql; database=banco_de_dados"

cnnDB.Open

%>

 

e na parte do

sql = "INSERT INTO NOME_TABELA(campo1,campo2) VALUES ('"& campo1 &"', '"& campo2 &"')"

Set RS = cnnDB.Execute(sql)

você coloca

sql = "INSERT INTO NOME_TABELA(campo1,campo2) VALUES ('"& campo1 &"', '"& campo2 &"')"

RS.Open sql

 

tenta essas mudanças que te passei.

obrigado pela ajuda até agora.. obrigado mesmo

 

deu erro fazendo a troca..

o erro foi

 

Microsoft VBScript runtime error '800a01a8'

 

Object required: 'RS'

Compartilhar este post


Link para o post
Compartilhar em outros sites

abaixo de onde recupera voce tentou mandar escrever os valores para ter certeza de que nao vem

 

so um dos quatro que nao encontrei no form

 

o resto deveria esta pegando

obrigado pela ajuda Mario,

eu nao sei muito bem ainda de asp entao nao entendi o que voce disse.

Quais sao esses valores que você perguntou se eu escrevi?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum

 

embaixo de

 

data = request.Form("data")
grupo = request.Form("grupo")
nom = request.Form("nom")
unites = request.Form("unites")

poe

 

Response.write("data = " & data & ";grupo = " & grupo & ";nom = " & nom &";unites = " & unites)

o que aparecer poe aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

O teu insert ta errado

 

muda

 

strSql = " Insert Into formation(grupo,nom,unites) Values(grupo,nom,unites)"

por

 

strSql = " Insert Into formation (grupo,nom,unites) Values ('" & grupo & "','" & nom & "','" & unites"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

O teu insert ta errado

 

muda

 

strSql = " Insert Into formation(grupo,nom,unites) Values(grupo,nom,unites)"

por

 

strSql = " Insert Into formation (grupo,nom,unites) Values ('" & grupo & "','" & nom & "','" & unites"')"
Cheguei do trabalho agora.. vou ter que testar amanha mesmo.. posto aqui o que deu de qualquer maneira..

muito obrigado mesmo Mario... parabens pela ajuda que tem prestado..

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

de nada

 

Espero que consiga resultados

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo apos mudar o insert ainda apresenta erro

 

Microsoft VBScript compilation error '800a0401'

 

Expected end of statement

 

/nomedodiretorio/cadastro.asp, line 27

 

strSql = " Insert Into formation (grupo,nom,unites) Values ('" & grupo & "','" & nom & "','" & unites"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou falando um & no fim

 

& unites & "')"

Coloque e teste

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.