Ir para conteúdo

Arquivado

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

Morpheus#2005

Gravar dados multiplos

Recommended Posts

Bom dia a todos...

 

Esse código esta funcionando perfeitamente , mas só grava registro por registro...gostaria de gravar vários registros independente da quantidade de textbox...

 

Vi alguns exemplos aqui no site mais nao consegui implementá-los....voces pode me ajudar?

 

Putz que friaca da porr@

 

 

Obrigado por qualquer ajuda!

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include virtual="Connections/conecta.asp" -->

<%
'Make a transaction dispatcher instance
Dim tNGs: Set tNGs = new tNG_dispatcher
tNGs.Init "/"
%>
<%
' Make an insert transaction instance 
Dim ins_TBL_x_SIN: Set ins_TBL_x_SIN = new tNG_insert
ins_TBL_x_SIN.init MM_conecta_STRING
tNGs.addTransaction ins_TBL_x_SIN
' Register triggers
ins_TBL_x_SIN.registerTrigger Array("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1")
ins_TBL_x_SIN.registerTrigger Array("END", "Trigger_Default_Redirect", 99, "sucesso.asp")
' Add columns
ins_TBL_x_SIN.setTable "TBL_TESTE"
ins_TBL_x_SIN.addColumn "QUANTIDADE", "STRING_TYPE", "POST", "QTD", ""
ins_TBL_x_SIN.setPrimaryKey "QUANTIDADE", "NUMERIC_TYPE", "", ""
%>
<%
'Execute all the registered transactions
tNGs.executeTransactions
%>
<%
'Get the transaction recordset
Dim rsTBL_x_SIN
Dim rsTBL_x_SIN_numRows

Set rsTBL_x_SIN = tNGs.getRecordset("TBL_TESTE")
rsTBL_x_SIN_numRows = 0
%>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
a="all" />

</head>

<body>
<form id="form1" name="form1" method="post" action="">
Quantidade : <br />
<input name="textfield" type="text" value="">
    <br />
    <br />
    <input name="KT_Insert1" type="submit" id="KT_Insert1" value="Gravar" /></label>
</form>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%
QTD = Split(Request.Form("T1"), ",")
T = Request.Form("T1").Count
Response.write(T)
%>

<%
For i = 1 To Request.Form("T1").Count
' Make an insert transaction instance 
Dim ins_TBL_TESTE_SINAL: Set ins_TBL_TESTE_SINAL = new tNG_insert
ins_TBL_TESTE_SINAL.init MM_dcdcdev_STRING
tNGs.addTransaction ins_TBL_TESTE_SINAL
' Register triggers
ins_TBL_TESTE_SINAL.registerTrigger Array("STARTER", "Trigger_Default_Starter", 1, "POST", "T1"))
ins_TBL_TESTE_SINAL.registerTrigger Array("END", "Trigger_Default_Redirect", 99, "SUCESSO.ASP")
' Add columns
ins_TBL_TESTE_SINAL.setTable "TBL_TESTE_SINAL"
ins_TBL_TESTE_SINAL.addColumn "QUANTIDADE", "STRING_TYPE", "POST", "QTD"&(i), ""
ins_TBL_TESTE_SINAL.setPrimaryKey "VALOR", "NUMERIC_TYPE", "", ""
next
%>

Cheuguei nesse resultado...mas ainda nao funfou???

 

dessa forma acima ele grava no banco assim : dadoA, dadoB na mesma linha...preciso que ele grave dado_A na linha 1 e dado_B na proxima linha....estamos quase láaaa, obrigado ae Humbertooo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Morpheus#2005,

 

Já tentou trocar

 

QTD = Split(Request.Form("T1"), ",")

 

por

 

QTD = Split(Request.Form("T1"), "<br>")

 

Espero que ajude.

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao funcionou mestre....

 

Esta assim , eu fiz uma pagina que vao ficar os dados:

 

<form action="teste.asp" method="post" enctype="" name="form1" id="form1">
  <p>Quantidade : <br />
    A
    <input name="T1" type="text" id="T1" value="">
  </p>
  <p>B
    <input name="T2" type="text" id="T2" value="" />
  </p>
  <p>
    <input name="IDX" type="text" id="IDX" value="<%=(MAX.Fields.Item("ID").Value)%>" />
    <br />
    <br />
    <input name="KT_Insert1" type="submit" id="KT_Insert1" value="Gravar" />
    </label>
  </p>

e outra para pegar os dados e inserir no banco:

 

<%
Dim QTD
QTD = Split(Request.Form("T1"), "<br>")
T = Request.Form("T1").Count
Response.write(T)
%>
<%

For i = 1 To Request.Form("T1").count

' Make an insert transaction instance 
Dim ins_TBL_TESTE_SINAL: Set ins_TBL_TESTE_SINAL = new tNG_insert
ins_TBL_TESTE_SINAL.init MM_dcdcdev_STRING
tNGs.addTransaction ins_TBL_TESTE_SINAL
' Register triggers
ins_TBL_TESTE_SINAL.registerTrigger Array("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1")
ins_TBL_TESTE_SINAL.registerTrigger Array("END", "Trigger_Default_Redirect", 99, "BELLO.ASP")
' Add columns
ins_TBL_TESTE_SINAL.setTable "TBL_TESTE_BELLO"
ins_TBL_TESTE_SINAL.addColumn "ID", "NUMERIC_TYPE", "POST", "IDX", ""
ins_TBL_TESTE_SINAL.addColumn "QUANTIDADE",  "NUMERIC_TYPE", "POST", "QTD", ""
ins_TBL_TESTE_SINAL.setPrimaryKey "ID", "NUMERIC_TYPE", "POST", "IDX"
next
%>
<%
'Execute all the registered transactions
tNGs.executeTransactions
%>
<%
'Get the transaction recordset
Dim rsTBL_TESTE_SINAL
Dim rsTBL_TESTE_SINAL_numRows

Set rsTBL_TESTE_SINAL = tNGs.getRecordset("TBL_TESTE_SINAL")
rsTBL_TESTE_SINAL_numRows = 0
rsTBL_TESTE_SINAL.close
%>

Não esta funcionandooo nem a pauuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Humm, pelo que entendi, vc não quer exibir na tela seus dados com quebra de linha, correto?

 

Vc quer é gravar esses dados mas um Registro em cada linha de sua coluna, é isso?

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha este exemplo, única diferença que estou usando checkbox, apenas altere para seu campo

 

 

 

qtd_produtos = split(Request.Form("qtd_produtos"),",")
if qtd_produtos = ""
produtos= Split(Request.Form("produtos"), ",")

For i = 1 To Request.Form("produtos").Count

Response.write request.form("produtos")(i)&"<BR>" & request.form("qtd_produtos")(i)&"<BR>"
SQL = "INSERT INTO lista (lista_prodID,lista_quant) Values ('"&request.form("produtos")(i)&"','"&request.form("qtd_produtos")(i)&"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu vi esse exemplo mesmo mais nao consegui adaptar ao meu código...vc pode me ajudar?



Assim esta funcionando, mas somente grava um registro por vez.

 

<%
Dim T, i

For i = 1 To Request.Form("T1").Count

T = Request.Form("T1").Count

Response.write(request.form("T1")(i) & "</BR>")

' Make an insert transaction instance 
Dim ins_TBL_TESTE_BELLO: Set ins_TBL_TESTE_BELLO = new tNG_insert
ins_TBL_TESTE_BELLO.init MM_dcdcdev_STRING
tNGs.addTransaction ins_TBL_TESTE_BELLO
' Register triggers
ins_TBL_TESTE_BELLO.registerTrigger Array("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1")
ins_TBL_TESTE_BELLO.registerTrigger Array("END", "Trigger_Default_Redirect", 99, "ok.asp")

' Add columns
ins_TBL_TESTE_BELLO.setTable "TBL_TESTE_BELLO"
ins_TBL_TESTE_BELLO.addColumn "ID", "NUMERIC_TYPE", "POST", "IDX", ""
ins_TBL_TESTE_BELLO.addColumn "QUANTIDADE","STRING_TYPE", "POST", "T1", "{POST.T1}"
ins_TBL_TESTE_BELLO.setPrimaryKey "ID", "NUMERIC_TYPE", "", ""
%>

<%
'Execute all the registered transactions
tNGs.executeTransactions
next
%>
<%
'Get the transaction recordset
Dim rsTBL_TESTE_BELLO
Dim rsTBL_TESTE_BELLO_numRows

Set rsTBL_TESTE_BELLO = tNGs.getRecordset("TBL_TESTE_BELLO")
rsTBL_TESTE_BELLO_numRows = 0
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim Will é isso mesmo...mas ta ossoooo!!!



O resultado que eu preciso é o seguinte:

Quando eu faço o insert ele grava assim:

 

tabela A

id --- registro

10 45 , 56

 

Sendo que eu tenho dois forms

 

entao ele deveria gravar assim:

 

tabela A

id --- registro

10 45

11 56

 

obrigado aeeeeee galera pela ajuda..



Ajuda aaeeee galeraaaaaaaaaaaaa



isso nao deveria GRAVAR 3 vezes a mesma coisa?

 

 

<%
' Make an insert transaction instance 
for i = 1 to 3
Dim ins_TBL_TESTE_BELLO: Set ins_TBL_TESTE_BELLO = new tNG_insert
ins_TBL_TESTE_BELLO.init MM_dcdcdev_STRING
tNGs.addTransaction ins_TBL_TESTE_BELLO
' Register triggers
ins_TBL_TESTE_BELLO.registerTrigger Array("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1")
ins_TBL_TESTE_BELLO.registerTrigger Array("END", "Trigger_Default_Redirect", 99, "ok.asp")
ins_TBL_TESTE_BELLO.registerTrigger Array("BEFORE", "Trigger_SetOrderField", 50)
' Add columns
ins_TBL_TESTE_BELLO.setTable "TBL_TESTE_BELLO"
ins_TBL_TESTE_BELLO.addColumn "QUANTIDADE", "STRING_TYPE", "POST", "T1", ""
ins_TBL_TESTE_BELLO.setPrimaryKey "ID", "NUMERIC_TYPE", "", ""
next
%>

???? affff pq nao obdece o for???



Putz...resolvidooo obrigado a tods...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Morpheus#2005,

 

Conseguiu resolver, opa isso é bom.

 

Caso queria postar a solução, poderá ajudar a muitos outros.

 

Poderá tb marcar como Resolvido.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade um for..next direto no request.form

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue a quase solução...

 

	<script type="text/javascript">
	
			$(document).ready(function() {
			var total
			$(document).change(function() {
			total = $(":checkbox").filter(':checked').length
			$("#total").val(total)
			})

				
			} );
		</script>


<%
nQtdFields = Request("total")
nCount = 0
x = 1

do while cint(nCount) < 10

'Make a transaction dispatcher instance
Dim tNGs: Set tNGs = new tNG_dispatcher
tNGs.Init "/xxxx/"

' Make an insert transaction instance 
Dim ins_TBL_TESTE: Set ins_TBL_TESTE= new tNG_insert
ins_TBL_TESTE.init MM_dcdcdev_STRING
tNGs.addTransaction ins_TBL_TESTE
' Register triggers
ins_TBL_TESTE.registerTrigger Array("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1")
if nCount > nQtdFields then
ins_TBL_TESTE.registerTrigger Array("END", "Trigger_Default_Redirect", 99, "sucesso.asp")
end if
ins_TBL_TESTE.registerTrigger Array("BEFORE", "Trigger_SetOrderField", 50)
' Add columns
ins_TBL_TESTE.setTable "TBL_TESTE_BELLO"
ins_TBL_TESTE.addColumn "QUANTIDADE", "STRING_TYPE", "POST", "T"&(nCount), ""

ins_TBL_TESTE.setPrimaryKey "ID", "NUMERIC_TYPE", "", ""
%>
<%
'Execute all the registered transactions
 nCount = nCount + 1
 response.write(nCount)
tNGs.executeTransactions
loop
nCount = 0
%>

Eu consigo contar a quantidade de checkbox marcados via jquery mais nao sei como passar o parametro para o ASP...me ajudem por favooo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha este exemplo

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.