[Resolvido] Erro, cadastrando 2 vezes o mesmo registro
Salve galera, tenho uma página de cadastro aonde o usuário escolhe uma determinada quantidade no combobox e a partir dessa quantidade ele gera campos de texto. Nessa página existem outros campos. Essa página deverá ser enviada para uma outra página "cadastro.asp", nela deverá ser executada o registro desses campos no bd, porém, os campos criados em relação à quantidade escolhida deve ser inseridos como outro registro no banco...
confuso né...aqui vai um exemplo:
FORMULÁRIO
Quantidade escolhida: 2
Campo gerado 1
campo gerado 2
campo nome
campo idade
**CADASTRO *(como devem ser inseridos esses dados)***
nome, idade, dado_do_campo_gerado 1
nome, idade, dado_do_campo_gerado 2
até ai sem problemas, fiz um for na página de cadastro e ele insere direitinho, porém, mesmo escolhendo para gerar 1 único campo, ele duplica os registros no banco, supondo que eu escolha para inserir 10 campos, ele gera 20 registros, a duplicação independe da quantidade de campos, não sei o que está acontecendo, vou postar os codigos tanto do form quanto do cadastro.asp, se alguém achar aonde está o erro...
CÓDIGO DO FORM
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem Título</title>
<style type="text/css"><!--
.style3 {font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; color: #FFFFFF; }
.style12 {font-size: 10px; font-weight: bold; }
.style14 {font-family: Verdana, Arial, Helvetica, sans-serif}
.style15 { color: #FFFFFF;
font-size: 12px;
}
.style17 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: bold;
}-->
</style>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label> </label>
<table width="560" border="0">
<tr>
<td colspan="2" bgcolor="#CC0000"><span class="style3">Insira a quantidade de produtos IGUAIS que deseja registrar</span></td>
</tr>
<tr>
<td width="45" bgcolor="#F0F0F0"><select name="campos" id="campos">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
</select></td>
<td width="505" bgcolor="#F0F0F0"><input type="submit" name="envia" id="envia" value="OK" /></td>
</tr>
</table>
<label><br />
</label>
<table width="560" border="0">
<tr>
<td colspan="2" bgcolor="#CC0000"><span class="style14"> <span class="style15">
<label></label>
<strong>Cadastrar </strong></span></span></td>
</tr>
<tr>
<td width="211" bgcolor="#F0F0F0"><span class="style12"><font face="Verdana, Arial, Helvetica, sans-serif">Empresa</font></span></td>
<td width="339" bgcolor="#F0F0F0"><label>
<input name="empresa" type="text" id="empresa" />
</label></td>
</tr>
<tr>
<td bgcolor="#FBFBFB"><span class="style12"><font face="Verdana, Arial, Helvetica, sans-serif">Número da Nota</font></span></td>
<td bgcolor="#FBFBFB"><label>
<input name="nota" type="text" id="nota" />
</label></td>
</tr>
<tr>
<td bgcolor="#F0F0F0"><span class="style12"><font face="Verdana, Arial, Helvetica, sans-serif">Instrumento</font></span></td>
<td bgcolor="#F0F0F0"><label>
<input name="instrumento" type="text" id="instrumento" />
</label></td>
</tr>
<tr>
<td bgcolor="#FBFBFB"><span class="style12"><font face="Verdana, Arial, Helvetica, sans-serif">Marca</font></span></td>
<td bgcolor="#FBFBFB"><label>
<input name="marca" type="text" id="marca" />
</label></td>
</tr>
<tr>
<td bgcolor="#F0F0F0"><span class="style12"><font face="Verdana, Arial, Helvetica, sans-serif">Capacidade x Resolução </font></span></td>
<td bgcolor="#F0F0F0"><label>
<input name="capacidade" type="text" id="capacidade" />
</label></td>
</tr>
<tr>
<td bgcolor="#FBFBFB"><span class="style12"><font face="Verdana, Arial, Helvetica, sans-serif">Modelo</font></span></td>
<td bgcolor="#FBFBFB"><label>
<input name="modelo" type="text" id="modelo" />
</label></td>
</tr>
<tr>
<td bgcolor="#F0F0F0"><span class="style12"><font face="Verdana, Arial, Helvetica, sans-serif">Acessório</font></span></td>
<td bgcolor="#F0F0F0"><label>
<input name="acessorio" type="text" id="acessorio" />
</label></td>
</tr>
<tr>
<td bgcolor="#FBFBFB"><span class="style12"><font face="Verdana, Arial, Helvetica, sans-serif">Patrimônio</font></span></td>
<td bgcolor="#FBFBFB"><label>
<%Dim Campos : Campos = CInt(Request.Form("campos"))
Dim Numeros : Numeros = CInt(Numeros)
If IsEmpty(Request.Form) Then
Numeros = 1
Else
For Numeros = 1 to Campos
Response.Write("<input type='text' name='" & Numeros & "P'/>" & "<br>")
NextEnd If
%>
</label></td>
</tr>
<tr>
<td bgcolor="#F0F0F0"><span class="style12"><font face="Verdana, Arial, Helvetica, sans-serif">Número de Fabricação </font></span></td>
<td bgcolor="#F0F0F0">
<%
If IsEmpty(Request.Form) Then
Numeros = 1
Else
For Numeros = 1 to Campos
Response.Write("<input type='text' name='" & Numeros & "N'/>" & "<br>")
NextEnd If
%></td>
</tr>
<tr>
<td bgcolor="#FBFBFB"><span class="style17">Valor Uniário </span></td>
<td bgcolor="#FBFBFB"><label>
<input name="vunitario" type="text" id="vunitario" />
</label></td>
</tr>
<tr>
<td bgcolor="#FBFBFB"><span class="style12"><font face="Verdana, Arial, Helvetica, sans-serif">Quantidade</font></span></td>
<td bgcolor="#FBFBFB"><input name="quantidade" readonly type="text" id="quantidade" value = <%=Campos%> /></td>
</tr>
<tr>
<td bgcolor="#FBFBFB"> </td>
<td bgcolor="#FBFBFB"><input type="submit" name="Submit" value="Enviar" onClick="enviar()"/></td>
</tr>
<tr>
<td bgcolor="#FBFBFB"> </td>
<td bgcolor="#FBFBFB"> </td>
</tr>
<tr>
<td bgcolor="#FBFBFB"> </td>
<td bgcolor="#FBFBFB"> </td>
</tr>
</table>
<label><br />
</label>
<p>
<p>
<label></label>
</form>
<script>
function enviar(){
document.getElementById("form1").action="cadastro.asp";
document.getElementById("form1").submit();
}
</script>
</body>
</html>
CÓDIGO DO CADASTRAR.ASP
<%
Dim Conexao
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("db\banco.mdb")
' Agora vou usar o comando Request.form para recuperar os valores digitados no formulario.htm.
' Observe que na recuperação da data, uso a função criada acima.
empresa= Request.Form("empresa")
nota = Request.Form("nota")
instrumento = Request.Form("instrumento")
marca = Request.Form("marca")
capacidade = Request.Form("capacidade")
modelo = Request.Form("modelo")
acessorio = Request.Form("acessorio")
vunitario = Request.Form("vunitario")
quantidade = Request.Form("quantidade")
mesb=month(date())
ano=YEAR(DATE)
dia= day(date)
if mesb=1 then
mes="01"
end if
if mesb=2 then
mes="02"
end if
if mesb=3 then
mes="03"
end if
if mesb=4 then
mes="04"
end if
if mesb=5 then
mes="05"
end if
if mesb=6 then
mes="06"
end if
if mesb=7 then
mes="07"
end if
if mesb=8 then
mes="08"
end if
if mesb=9 then
mes="09"
end if
if mesb=10 then
mes="10"
end if
if mesb=11 then
mes="11"
end if
if mesb=12 then
mes="12"
end if
ddata=dia&"/"&mes&"/"&ano
' Aqui vou gravar os dados recuperados na tabela clientes.
For i = 1 to quantidade
Conexao.Execute "insert into Cadastro(empresa,nota, instrumento, marca, capacidade, modelo, acessorio, quantidade, vunitario) values('" & empresa & "', '" & nota & "', '" & instrumento & "', '" & marca & "', '" & capacidade & "', '" & modelo & "', '" & acessorio & "', '" & quantidade & "', '" & vunitario & "')"
i = i + 1
Next
Conexao.Close
Set Conexao = Nothing
response.Redirect("exibe.asp")
%>
lembrando que a página cadastro.asp ainda não pega os valores dos campos gerados atraves da quantidade e nem os cadastra
Bom, é isso ai pessoal, se alguém puder me ajudar a achar aonde está o erro...
Desde já agradeço... B)
Discussão (9)
Carregando comentários...