Ir para conteúdo

POWERED BY:

Arquivado

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

ricsant

gravando vários registros de uma vez

Recommended Posts

tenho uma lista de registros, onde necessito alterar um dos campos, porém, só devo gravar os registros que tiverem seu checkbox marcado...

 

gostaria de uma idéia, pra ver oq tem de diferente e errado na que eu implementei...

 

mto obrigado

 

Ricardo

 

ricsant03@gmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu quero saber como recupero, em asp, só os marcados... e os associo ao id para fazer o update

 

fiz um for i = 1 to request.querystring("ckb").count onde ckb é meu checkbox

 

mas não tá funcionando direito... só qdo marco todos da lista

 

fico no aguardo se puder me dar mais alguma dica

 

obrigado

 

Coloque o codigo que você implementou aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui esta como fiz, num primeiro asp que monta a tela, tem um javascript pra dar submit no form:

 

function GravaQtd(){
	var check = document.all.ckb;
   
	if(check != null)
	{
		var bchecado = false;
	   
		if(check.length != null)
		{
			for(var i=0; i <check.length; i++)
			{
				if(check[i].checked)
				{
					bchecado = true;
					break;
				}
			}
		   
		}
		else
		{
			if(check.checked)
			{
				bchecado = true;
			}
		}
		if(!bchecado)
		{
			alert("Selecionar pelo menos um registro para alterar quantidade");
			return;
		}
	   
		if(check.length != null)
		{
			for(var i=0; i <check.length; i++)
			{
				if(check[i].checked)
				{
					if (trim(document.getElementById("inpQtd" + i).value) == "")
					{
						alert("Favor informar a QUANTIDADE");
						return;
					}
				}
			}
		   
		}
		else
		{
			if(check.checked)
			{
				if (trim(document.getElementById("inpQtd0").value) == "")
				{
					alert("Favor informar a QUANTIDADE");
					return;
				}
			}
		}
	   
		var parametros = "";
	   
		if(check.length != null)
		{
			for(var i=0; i <check.length; i++)
			{
				if(check[i].checked)
				{
					if( i == 0)
					{
						parametros= parametros + 'pid=' + check[i].value + '&qtd=' + trim(document.getElementById("inpQtd"+i).value);					 
					}
					else
					{
						 parametros= parametros + '&pid=' + check[i].value + '&qtd=' + trim(document.getElementById("inpQtd"+i).value);					 
					}
				}
			}
		   
		}
		else
		{
			if(check.checked)
			{
				parametros = parametros + 'pid=' + check.value + '&qtd=' + trim(document.getElementById("inpQtd0").value);					 
			}
		}
	}
   
//	alert(parametros);
	document.edit.action = "prodcrud.asp?" + parametros + "&acao=altQtd";
	document.edit.submit();

}


							  <form name="edit" method="post" action="prodCrud.asp">
								<br>
							  <table id="tables">
									<tr>
										<th align="center" style="width:100px;"><b>CÓDIGO</b></th>
										<th align="center" style="width:300px;"><b>PRODUTO</b></th>
										<th align="center" colspan="3" style="width:200px;"><b>QUANTIDADE</b></th>
										<th align="center" style="width:200px;"><b>EXCLUSÃO</b></th>
										<th align="center" style="width:200px;"><b>ATIVAR/DESATIVAR</b></th>
									</tr>

<%

	databaseConnection.Open(SQLConnectionString)

	 Set objCmd2 = Server.CreateObject ("ADODB.Command")
	 objCmd2.ActiveConnection = databaseConnection
	 objCmd2.CommandText = "select * from produtos where aid in (select id from academias where uaid = " & Session("UsuarioId") & ") order by produto asc"
	 objCmd2.CommandType = adCmdText
	 Set rs = Server.CreateObject ("ADODB.Recordset")

	 rs.Open objCmd2

	 Dim i
	 i = 0
	 While not rs.EOF
		 str = "<tr><td align=""center"">" & rs("pid") & "</td><td><a href=prodcad.asp?pid=" & rs("pid") & " style='font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; color:black; top:1px;'>" & rs("produto") & "</a></td><td align='center'><input type='checkbox' name='ckb' value='" & rs("pid") & "'/></td><td align=""center""><input type='text' name='inpQtd' id='inpQtd" & i & "' size='5' maxlength='4' onKeyPress='return Enum(event)' value='" & Trim(rs("qtd")) & "'></td>"
		str = str + "<td align=""center""> </td>"
		str = str + "<td align=""center""><a href=prodcrud.asp?acao=deletar&pid=" & rs("pid") & " style='font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; color:black; top:1px;'><b>Deletar Produto</b></a></td>"
		 if cint(rs("fl_encerrado")) = 1 Then
			str = str + "<td align=""center""><a href=prodcrud.asp?acao=liberar&pid=" & rs("pid") & " style='font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; color:black; top:1px;'><b>Ativar Produto</b></a></td></tr>"
		 else
			str = str + "<td align=""center""><a href=prodcrud.asp?acao=bloquear&pid=" & rs("pid") & " style='font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; color:black; top:1px;'><b>Desativar Produto</b></a></td></tr>"
		 end if
		Response.Write(str)
		rs.movenext
		i = i + 1
	 wend
	
%>	
								</form>
									</table>
									</div>
																
							<div style="top:30px;">	
								<button type="button" id="incluir" value="INCLUIR PRODUTO" onClick="location.href='prodcad.asp?pid=0'" style="left:490px;">
								</button>
								<p style="font-size: 13px; top:-20px; left:450px;"><b>Incluir Produto</b>
								<a href='#' style='font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; color:black; top:-2px;' onClick="GravaQtd();"><img src=../img/Synchonize.png style='width:30px;'><b>Alterar Quantidade</b></a>
								</p>
							</div>

depois num segundo asp que pega o submit:

 

for i=1 to Request.QueryString("qtd").Count
		strQry = "Update produtos set qtd = '" & Request.QueryString("qtd")(i) & "' where pid = " & Request.QueryString("pid")(i)
		response.write strQry
		objCmd2.CommandText = strQry
		rs.Open objCmd2
	next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

for i=1 to Request.Form("ckb").Count
		strQry = "Update produtos set qtd = '" & Request.QueryString("qtd")(i) & "' where pid = " & Request.QueryString("pid")(i)
		response.write strQry
		objCmd2.CommandText = strQry
		rs.Open objCmd2
next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo apanhei muito mais conseguir fazer este codigo que edita varios registros que esta no checkbox

 

Parte 01

 

<%
'------> MS Access 2000 usando uma pasta virtual
	Set conn = Server.CreateObject("ADODB.CONNECTION")
	conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("../../db/virtuastore.mdb")
'	StringdeConexao.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("database/virtuastore.mdb")
	Set RS= Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginação
   sql="select * from pedidos"
   Set RS = conn.Execute(sql)
DO WHILE NOT RS.EOF And Count < RS.PageSize  'paginacao And Count < RS.PageSize 
idprod = RS("idprod")
quantidade = RS("quantidade")
intProdID = idprod
intQuant = quantidade
%>
<form action="atualizapedido.asp" method="post" name="registro1">
<table>
<tr><TD><input name="quant<%=intProdID %>" size="2" value="<%=intQuant%>" onChange="HandleError<%= intProdID %>(this)" style=font-size:11px;font-family:<%=fonte%>; maxlength=2></TD>
<TD><input type="checkbox" name="pg_id<%=intProdID %>" id="<%=varCont%>" value="<%=intProdID %>"></TD></tr>
</table>
<%
	RS.MoveNext
	LOOP 

%>
<input type="submit" name="VER" value="Enviar">
</form>
Parte 02

<%
	Set conn = Server.CreateObject("ADODB.CONNECTION")
	conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("../../db/virtuastore.mdb")
	Set RS= Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginação
intOrderID = "1"
set rsProd = conn.Execute("SELECT * FROM pedidos WHERE idcompra='"&intOrderID&"';")
if rsProd.EOF and rsProd.BOF then
rsProd.close
set rsProd = Nothing
abredb.Close
set abredb = Nothing
else
do while not rsProd.EOF
element = "quant" & rsProd("idprod")
intQuant = Request.form(element)
intQuantz = rsProd("idprod")
pg_id = "pg_id" & rsProd("idprod")
ID_Quant = Request.form(pg_id)
if intQuant <> "" and isNumeric(intQuant) then
set rsProd1 = conn.Execute("update pedidos set quantidade='"&intQuant&"' WHERE idcompra='"&intOrderID&"' AND idprod='"&ID_Quant&"';")
end if
rsProd.MoveNext
loop
rsprod.close
set rsProd = Nothing
conn.Close  
set conn = Nothing
Response.Redirect "/"
end if
conn.Close  
set conn = Nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

legal, vou inserir no laboratorio de script...

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.