Ir para conteúdo

POWERED BY:

Arquivado

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

iwallas

Inserir varios registros ao msm tempo

Recommended Posts

e ae pessoal belza?

 

seguinte.. to com um probleminha... :unsure:

tenho um formulario, que tem opções nome e nota.

uma tabela que tem os campos nome e nota.

 

no formulario podem entrar muitos nomes e muitas notas ao mesmo tempo

 

do tipo

 

insert tabela values('nome',10.0)

 

mas existem varios campos nome e varios campos nota

 

e nao da pra fazer um insert pra cada um né senao fica gigantesco..

 

alguem tem alguma solução? pra eu fazer o request.form("nome")..("nota")

 

e fazer um insert com varios registros?

http://forum.imasters.com.br/public/style_emoticons/default/cry.gif ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho um formulario para inserir notas em um cadastro de notas;para formar esse formulario é necesssssário fazer um recordset:select * from alunosdai de acordo com o numero de alunos encontrados ele joga os textfield na tela.coloquei um só pra tudo e um repeat region pra repetir pra todos os registros.dai para gravar essas informações no banco preciso de um INSERT certo?mas eu só sei usar um insert por vez, tipo INSERT TABELA VALUES('JOAO',10)MAS NAO PODE SER ASSIM POIS TEM VARIOS JOES E VARIOS 10 DE UMA VEZ SÓDEI UM RESPONSE.WRITE NA SQL:ESTA ASSIM: INSERT TABELA VALUES ('JOAO, PEDRO, PAULO',10,10,9)SENDO QUE CADA NOME DEVERIA SER UMA LINHA DA TABELA.. E ELE ESTA INDO TUDO PARA A MESMA LINHA.

Compartilhar este post


Link para o post
Compartilhar em outros sites

alguem tem alguma solução? pra eu fazer o request.form("nome")..("nota") e fazer um insert com varios registros?

http://forum.imasters.com.br/public/style_emoticons/default/cry.gif ?

<{POST_SNAPBACK}>

Como foram criados os campos ? Nome1, Nome2, ..., Nome 500 ? Se for sequencil (e terá que ser!), use um for:

ASP

[*]For i = 1 to 500

insert tabela values('" & Request.Form("nome") & i & "','" & Request.Form("Nota") & i & "')

Next

Dessa forma acho que funcionaria... mais ou menos por aí. Adapte a idéia...

 

<_<

<{POST_SNAPBACK}>

MAS esse é problema.. eu nao sei como vou saber qual vai ser o numero que vai entrar no lugar do seu "500" pq o numero de campos depende do recordset

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os campos do formulário estão todos com o mesmo nome certo?

Então os dados vem separados por virgula, certo?

 

Pode colocar tudo num array e depois fazer um loop percorrendo os valores.

Um exemplo:

 

arrayNome=(Split(Request.Form("Nome"),","))		  arrayNota=(Split(Request.Form("Nota"),","))		  i=0		  For Each item in arrayNome			  Conexao.Execute="INSERT INTO Tabela Values ('"& item &"',"& arrayNota(i) &")"		  i=i+1		  Next

Não testei o código, por isso não sei se funciona, mas a lógica é essa.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara duma vez não dá...você deverá usar um laço como foi mostrado acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os campos do formulário estão todos com o mesmo nome certo?

Então os dados vem separados por virgula, certo?

 

Pode colocar tudo num array e depois fazer um loop percorrendo os valores.

Um exemplo:

 

          arrayNome=(Split(Request.Form("Nome"),","))          arrayNota=(Split(Request.Form("Nota"),","))          i=0          For Each item in arrayNome              Conexao.Execute="INSERT INTO Tabela Values ('"& item &"',"& arrayNota(i) &")"          i=i+1          Next
Não testei o código, por isso não sei se funciona, mas a lógica é essa.

 

[]s

<{POST_SNAPBACK}>

ASP

[*]

[*]<%

[*]dim ii,sql

[*]set Command2 = Server.CreateObject("ADODB.Command")

[*]Command2.ActiveConnection = MM_RM_STRING

[*]Command2.CommandText = "INSERT INTO dbo.notas_w (ra,aluno,notaparcial) VALUES ('"&request.Form("tra")&"','"&request.Form("tnome")&"',"&request.Form("tparcial")&")"

[*]Command2.CommandType = 1

[*]Command2.CommandTimeout = 0

[*]Command2.Prepared = true

[*]i=cint(request.Form("num_alunos"))

[*]

[*]for ii=1 to i

[*]Command2.Execute

[*]ii=ii+1

[*]next

[*]%>

esse foi como eu fiz... isso ai de array eu tinha pensado.. mas sou iniciante.. tem como dar um exemplo baseado nesse que eu passei se nao for pedir demais.. pq eu nao entendi esse ai de cima :S

 

valew pessoal ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ÊÊÊÊÊÊÊÊÊÊ,

 

Tô mandando o boleto pelo correio.

 

 

<%Dim i,sqlarrayNome=(Split(request.Form("tnome")&",","))arrayTra=(Split(request.Form("tra")&",","))arrayNotaParcial=(Split(request.Form("tparcial"),","))i=0Set Conexao = Server.CreateObject("ADODB.Connection")Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\db\seuDB.mdb" ' Acerte o caminho de seu BD Aquí.For Each item in arrayNomeSQL = "INSERT INTO dbo.notas_w (ra,aluno,notaparcial) VALUES ('"& arrayTra(i)&"','"&item&"',"&arrayNotaParcial(i)&")"Conexao.Execute SQLnextConexao.CloseSet Conexao=Nothing%>

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.