Ir para conteúdo

POWERED BY:

Arquivado

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

Alberto Maffei

[Resolvido] Duplicação de registro no insert into - MySql

Recommended Posts

Oi Pessoal,

 

Tenho uma table em mysql como abaixo

 

TABLE `areceber` ( 
`ordem` int(10) unsigned NOT NULL auto_increment, 
`datadocto` date default NULL, 
`clienteid` int(11) default NULL, 
`valor` decimal(10,2) default NULL, 
`descricao` longtext, 
`numero` varchar(10) default NULL, 
`vencimento` varchar(10) default NULL, 
PRIMARY KEY (`ordem`), 
KEY `pedido` (`ordem`) 
) TYPE=MyISAM;

 

e um código que insere registros nesta tabela:

 

'CONECTA COM O BD

ASP
Set objConexao3 = Server.CreateObject("ADODB.Connection")

objConexao3.ConnectionString = "driver=MySQL;server=localhost;uid=usuario;pwd=senha;database=db1"

objConexao3.Open

objConexao3.Execute("INSERT INTO `areceber` (`datadocto` , `clienteid` , `valor` , `descricao` , `numero` , `vencimento` ) VALUES ('" & amd(DtPagamento,0) & "', '" & Grupo & "', '-" & valor & "', 'Pagamento do doc. " & left(documento,7) & ", '" & documento & "', '" & amd(vencimento,0) & "')")

objConexao3.close

 

 

Será q alguém consegue me dizer porque toda vez que mando salvar, aparecem 2 registros na tabela?

 

Alberto

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenha certeza de q o codigo so passa por aí uma vez...

 

coloque um response.write("passou") ou coisa do tipo pra ver se ele realmente so executou 1 vez...

 

acho q isso nao eh problema no bco nao.

 

Abrazz

Compartilhar este post


Link para o post
Compartilhar em outros sites

como é que você faz para inserir o conteúdo? através de formulário??

tem como postar o código do formulário tbm? e se puder faz o que o colega falou... coloque o response.write para vêr e tbm tem muia coisa estranha no seu sql ai....

Compartilhar este post


Link para o post
Compartilhar em outros sites

só por curiosidade, coloque o codigo html do formulario, pra mim você colocou um submit no formulario e outro no botão/link

Compartilhar este post


Link para o post
Compartilhar em outros sites

por favor poste o codigo desta pagina que insere toda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Ted K, tudo bem?

 

Coloquei o response.write("passou") e ele só executa uma vez mesmo.

 

E no banco de dados apareceram 2 registros iguais e na sequencia.

 

As informações vem de um form, Veja abaixo:

 

*************************************************************************

<%@ Language=VBScript%>
<%Response.Expires = 0%>
<%Response.Buffer = true%>

<% 
Function amd(d,dd)
	amd = year(d) & "-" & Month(d) & "-" & Day(d) + dd
End Function

Function dma(d,dd)
	dma = Day(d) + dd & "-" & Month(d) & "-" & year(d)
End Function

Operation = request.form("Operation")

Select Case Operation
'************************************************************************* 
Case "baixa"
	Cobranca_To_Edit = request.form("id_cobranca") 
	cGrupo = request.form("id_grupo")
				Set rstClients = Server.CreateObject("ADODB.Connection")
				rstClients.ConnectionString = "driver=MySQL;server=localhost;uid=usuario;pwd=senha;database=db1" 
	SQLclients = "SELECT * FROM extrato WHERE id = " & Cobranca_To_Edit & ";"
	rstClients.Open SQLclients,cnn,3,3
	cVencimento	=rstClients.Fields("Vencimento").Value
	cValidade		=rstClients.Fields("Validade").Value
	cValor		=rstClients.Fields("Valor").Value
	cDescricao	=rstClients.Fields("Descricao").Value
	cEmitido		=rstClients.Fields("Emitido").Value
	cUsuario		=rstClients.Fields("Usuario").Value
	cContaUsuario	=rstClients.Fields("ContaUsuario").Value
	cExibir		=rstClients.Fields("Exibir").Value
	cDescricao2	=rstClients.Fields("Periodicidade").Value
	cDocumento	=rstClients.Fields("documento").Value
	rstClients.close
	%>

	<script type="text/javascript"  src="popcalendar.js"></script>
	<body onLoad='atualiza_total();'>
	<form name="form1" method="post" action="" id="form1">
	<input type="hidden" name="Operation" id="Operation" value="">
	<input type="hidden" name="id_cobranca" id="id_cobranca" value="<%=Cobranca_To_Edit%>">
	<input type="hidden" name="id_grupo" id="id_grupo" value="<%=cGrupo%>">
	<table border="0" width="788" cellspacing="0" cellpadding="0" align="center" class="bodyline">
		<tbody>
			<tr>
				<td align="center">
					<table cellspacing="0" cellpadding="0" width="100%" border="0">
						<tbody>
							<tr>
								<td>
									<table width="100%" border="0" cellspacing="0" cellpadding="2" class="forumline">
									<tbody>
										<tr><th colspan="4" align="left"> Contas a Receber - Baixando títulos</th></tr>
										</tr>
										<tr class="row1">
											<td align="right"><B>Código do Título: </B></td>
											<td><%=cDocumento%><input type="hidden" name="viewDocumento" id="viewDocumento" value="<%=cDocumento%>"></td>
											<td align="right"><B>Cliente: </B></td>
											<td><%=cUsuario%><input type="hidden" name="viewUsuario" id="viewUsuario" value="<%=cUsuario%>"></td>
										</tr>
										<tr class="row1">
											<td align="right"><B>Domínio principal: </B></td>
											<td><%=cContaUsuario%><input type="hidden" name="viewContaUsuario" id="viewContaUsuario" value="<%=cContaUsuario%>"></td>
											<td align="right"><B>Categoria: </B></td>
											<td>
												<select name="View$ListCategoria" id="View_ListCategoria" style="width:258px;">
													<option selected="selected" value="13">Receitas</option>
													<option value="6">- - -Dividendos</option>
													<option value="26">- - -Outras Receitas</option>
													<option value="3">- - -Salário</option>
													<option value="1">Saldo Inicial</option>
												</select>
											</td>
										</tr>
										<tr class="row1">
											<td align="right"><B>Descrição 1: </B></td>
											<td><%=cDescricao%>
											<input type="text" name="viewDescricao" id="viewDescricao" value="<%=cDescricao%>"></td>
											<td align="right" width="150"><B>Descrição 2: </B></td>
											<td><textarea name="ViewTextBox2" rows="2" cols="30" id="ViewTextBox2" class="valor" style="height:40px;width:260px;">Pagamento do docto. <%=cDocumento%></textarea></td>
										</tr>
										<tr class="row1">
											<td align="right"><B>Vencimento </td>
											<td>
												<input name="View$TXTVencimento" type="text" value="<%=cVencimento%>" id="View_TXTVencimento" style="width:86px;"> <img align="Middle" src="../images/calendar31.gif"  onclick="popUpCalendar(this,document.getElementById('View_TXTVencimento'),'d/m/yyyy')">
											</td>
											<td align="right"><B>Valor</B></td>
											<td><input name="viewValor" type="text" value="<%=FormatNumber(cValor,2)%>" id="viewValor" class="valor" style="width:85px;" onBlur='atualiza_total();'></td>
										</tr>
										<tr class="row1">
											<td align="right"><B>Validade</B></td>
											<td>
											<input name="viewDataValidade" type="text" value="<%=cValidade%>" id="viewDataValidade" style="width:86px;"> <img align="Middle" src="../images/calendar31.gif"  onclick="popUpCalendar(this,document.getElementById('viewDataValidade'),'d/m/yyyy')"></td>
											<td align="right"><B>Acrecimos/Juros</B></td>
											<td>
												<input name="viewAcrecimos" type="text" value="0,00" id="viewAcrecimos" class="valor" style="width:85px;" onBlur='atualiza_total();'></td>
											</tr>
											<tr class="row1">
											<td align="right"><B>Data do pagamento</B></td>
											<td>
											<input name="viewDataPagamento" type="text" value="<%=dma(now(),-1)%>" id="viewDataPagamento" style="width:86px;"> <img align="Middle" src="../images/calendar31.gif"  onclick="popUpCalendar(this,document.getElementById('viewDataPagamento'),'d/m/yyyy')"></td>
												<td align="right"><B>Descontos</td>
												<td><input name="viewDescontos" type="text" value="0,00" id="viewDescontos" class="valor" style="width:85px;" onBlur='atualiza_total();'></td>
											</tr>
											<tr class="row1">
												<td align="right"><B>Conta para crédito </B></td>
												<td>
													<select name="View$DDConta" id="View_DDConta">
														
														<option value="3">Bradesco</option>
														<option value="0">Banco do Brasil</option>
													</select>
												</td>
												<td  align="right"><B>Valor total</B></td>
												<td><input onFocus="this.blur();" name="viewTotal" type="text" value="" id="viewTotal" class="valor" style="width:85px;"></td>
											</tr>
											<TR class="row1"><TD height="15" colspan="5"></TD></TR>
										</TABLE>
										<BR>
									</td>
								</tr>
							</table>
							<input type="submit" name="BTNVoltar" value="Pesquisar outro" id="BTNVoltar">
							<input type="submit" name="BTNBaixa" value="Baixa do título" id="BTNBaixa" onClick="sendForm('salva-baixa');" class="bt75">
						</td>
					</tr>
				</tbody>
			</table>
		</form>
<%
'*************************************************************************

'*************************************************************************
Case "salva-baixa"
' Elimina a vírgula de um número e substitui por ponto. Também elimina os pontos existentes. 
Function AcertaNum(Num) 
Buffer = ""
For x = 1 To Len(Num) 
Ped = Mid(Num, x, 1) 
If Ped = "," Then 
Ped = "." 
ElseIf Ped = "." Or Ped < "0" Or Ped > "9" Then 
Ped = ""
End If 
Buffer = Buffer & Ped 
Next 
AcertaNum = Buffer 
End Function 

Cobranca_To_Save_Edit = request.form("id_cobranca")
Grupo		= request.form("id_grupo")
vencimento	= Request.Form("View$TXTVencimento")
cd			= "C"
emitido		= "S"
valor		= Request.Form("viewTotal")
juros		= Request.Form("viewAcrecimos")
descontos	= Request.Form("viewDescontos")
documento	= Request.Form("viewDocumento")
descricao1	= Request.Form("viewDescricao")
descricao2	= Request.Form("ViewTextBox2")
usuario		= Request("viewUsuario")
contausuario= Request("viewContaUsuario")
validade	= request.form("viewDataValidade")
iddocliente	= request.form("iddocliente")
tipo		= request.form("tipo")
DtPagamento	= request.form("viewDataPagamento")

If validade = "" then
	validade = vencimento
End If

IF Tipo = "1" THEN
	TipoDoPlano = "Plano Econômico"
ELSEIF Tipo = "2" THEN
	TipoDoPlano = "Plano Master"
ELSEIF Tipo = "3" THEN
	TipoDoPlano = "Plano Light"
ELSEIF Tipo = "4" THEN
	TipoDoPlano = "Plano Plus"
ELSEIF Tipo = "5" THEN
	TipoDoPlano = "Plano Semi-Dedicado"
END IF

	If juros > 0 Then
		'CONECTA COM O BD DO 
		Set objConexao1 = Server.CreateObject("ADODB.Connection")
		objConexao1.ConnectionString = "driver=MySQL;server=localhost;uid=usuario;pwd=senha;database=db1" 
		objConexao1.Open 
		response.write "<br>Passou 1<br>"
		objConexao1.Execute("INSERT INTO areceber (ordem , datadocto , clienteid , valor , descricao , status , numero , vencimento ) VALUES ('', '" & amd(DtPagamento,0) & "', '" & Grupo & "', '" & AcertaNum(juros) & "', 'Multa','0', '" & documento & "', '" & amd(vencimento,0) & "')")
		objConexao1.close
	End If

	If descontos > 0 Then
		Set objConexao2 = Server.CreateObject("ADODB.Connection")
		objConexao2.ConnectionString = "driver=MySQL;server=localhost;uid=usuario;pwd=senha;database=db1" 
		objConexao2.Open 
		response.write "<br>Passou 2<br>"
		objConexao2.Execute("INSERT INTO areceber (ordem , datadocto , clienteid , valor , descricao , status , numero , vencimento ) VALUES ('', '" & amd(DtPagamento,0) & "', '" & Grupo & "', '-" & AcertaNum(descontos) & "', 'Ajuste/Desconto concedido', '0', '" & documento & "', '" & amd(vencimento,0) & "')")
		objConexao2.close
	End If

	'CONECTA COM O BD DO 
	Set objConexao3 = Server.CreateObject("ADODB.Connection")
	objConexao3.ConnectionString = "driver=MySQL;server=localhost;uid=usuario;pwd=senha;database=db1" 
	objConexao3.Open 
	response.write "<br>Passou 3<br>"
	objConexao3.Execute("INSERT INTO areceber (ordem, datadocto, clienteid, valor, descricao, status, numero, vencimento ) VALUES ('', '" & amd(DtPagamento,0) & "', '" & Grupo & "', '-" & valor & "', 'Pagamento do doc. " & left(documento,7) & "','0', '" & documento & "', '" & amd(vencimento,0) & "')")
	objConexao3.close
response.redirect "extrato1.asp"
'*************************************************************************


'*************************************************************************
	Case Else
		response.redirect "extrato1.asp"
End Select
%>

<script>

function atualiza_total(){
	var valor_inicial = parseFloat(document.getElementById("viewValor").value.replace(',','.'));
	var valor_acrecimos = parseFloat(document.getElementById("viewAcrecimos").value.replace(',','.'));
	var valor_descontos = parseFloat(document.getElementById("viewDescontos").value.replace(',','.'));
	var subtotal = valor_inicial + valor_acrecimos - valor_descontos;
	document.getElementById("viewTotal").value = subtotal.toFixed(2);
}

function sendForm(valSubmitForm) {
	if (window.external != undefined && window.external != null) window.external.AutoCompleteSaveForm(form1);
	document.form1.Operation.value = valSubmitForm;
	document.form1.submit();
}

function consulta(valSubmitForm, valAcao) {
	if (window.external != undefined && window.external != null) window.external.AutoCompleteSaveForm(form1);
	document.form1.Operation.value = valSubmitForm;
	document.form1.acao.value = valAcao;
	document.form1.submit();
}

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tiozinho voce pode editar o seu post e colocar o CODE denovo que ele ficou ilegivel

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está dando dois submits. Faça assim

retire

[url="http-~~-//december.com/html/4/element/input.html"]<input[/url] type="submit" name="BTNBaixa" value="Baixa do título" id="BTNBaixa" onClick="sendForm('salva-baixa');" class="bt75">

e coloque

[url="http-~~-//december.com/html/4/element/input.html"]<input[/url] type="button" name="BTNBaixa" value="Baixa do título" id="BTNBaixa" onClick="sendForm('salva-baixa');" class="bt75">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui

 

<input type="submit" name="BTNBaixa" value="Baixa do título" id="BTNBaixa" onClick="sendForm('salva-baixa');" class="bt75">

Esta dando duas vezes o submit

 

veja se é isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

perfeito tiozinho

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.