Ir para conteúdo

POWERED BY:

Arquivado

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

Geison C

Cadastrando varios registros

Recommended Posts

<%

set strConexao = CreateObject("ADODB.Connection")

strConexao.Open("DRIVER=Firebird/InterBase® driver; UID=SYSDBA;PWD=masterkey; DBNAME=localhost:C:\Teste\Mensageiro\Dados\MENSAGEIRO.FDB")

Set lista = Server.CreateObject("ADODB.Recordset")

 

 

ASSUNTO = ("-- ")

ASSUNTO = assunto + request.form("eAssunto")

 

mensagem = Request.Form( "FCKeditor1" )

 

DESTINATARIO = request.Form("eDestinatario")

STATUS = "NLIDA"

EXCLUIDO = "N"

REMETENTE = session("VarLogin")

DATA = (Date)

INTENCAO = request.Form("rIntencao")

 

arrLista = Split(DESTINATARIO,",")

 

For i = 0 To Ubound(arrLista)

 

sql = ("INSERT INTO tbmensageiro (assunto,mensagem,destinatario,status,excluido,remetente,DATA,intencao) values ('"&assunto&"','" &arrLista(i)&"','"&destinatario&"','"&status&"','"&excluido&"','"&remetente&"','"&data&"','"&INTENCAO&"')")

set lista = strConexao.execute(sql)

next

%>

peguei este exemplo num topico aqui do forum...

mas quando envia para mais de uma pessoa ocorre este erro:

Microsoft OLE DB Provider for ODBC Drivers erro '80004005'

 

arithmetic exception, numeric overflow, or string truncation

 

/asp/motorenvia.asp, line 26

A linha 26 eh a que está em vermelho lá em cima, alguem tem alguma sugestao ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o q você falou, e obtive o resultado do select

 

No meu entender...

Quando eu uso o FOR para um select creio que deveria funcionar assim.

 

ex: for i=0 to 3 do

 

o resultado em sql teria que ser em 3 vezes.

 

insert into ....(i)

insert into ...(i)

inser into...(i)

 

mudando apenas o valor da variavel que tiver que ser mudada..

 

o que está fazendo:

 

ex for= 0 to 3 do

insert into (i) (i) (i)

 

ou seja, ele esta pegando o valor da lista e adicionando tudo de uma vez no campo.

 

o que eu quero eh q seja enviado para x resgistros e nao x dados em um registrol..

 

creio q deve ser algum detalhe no FOR...

 

o que acha ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado por responder lucas..olhe o sql q ele gera.

INSERT INTO tbmensageiro (assunto,mensagem,destinatario,status,excluido,remetente,DATA,intencao) values ('-- TESTE','MARCOS','MARCOS,LUCAS','NLIDA','N','GEISON','5/13/2006','normal')

mas ele teria q estar fazendo assim

INSERT INTO tbmensageiro (assunto,mensagem,destinatario,status,excluido,remetente,DATA,intencao) values ('-- TESTE','MARCOS','NLIDA','N','GEISON','5/13/2006','normal')INSERT INTO tbmensageiro (assunto,mensagem,destinatario,status,excluido,remetente,DATA,intencao) values ('-- TESTE','LUCAS','NLIDA','N','GEISON','5/13/2006','normal')

CORRIGI uma linha de referencia que estava errada... mas agora ele ta pegando apenas o primeiro nome... se esta GEISON,LUCAS,MARCOS ele ta pegando apenas GEISON, e eu pedi pra fazer um write na variavel i, e ele retorna 0.esta caminhando...Alguma sugestao ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

isto ! para quem precisa tá aí!

<%set strConexao = CreateObject("ADODB.Connection")strConexao.Open("DRIVER=Firebird/InterBase® driver; UID=SYSDBA;PWD=masterkey; DBNAME=localhost:C:\Teste\Mensageiro\Dados\MENSAGEIRO.FDB")ASSUNTO = ("-- ")ASSUNTO = assunto & request.form("eAssunto")mensagem = Request.Form( "FCKeditor1" )DESTINATARIO = request.Form("eDestinatario")arrLista = Split(DESTINATARIO,",")STATUS = "NLIDA"EXCLUIDO = "N"REMETENTE = Ucase((session("VarLogin")))DATA = (Date)INTENCAO = request.Form("rIntencao")For i = LBound(arrLista) to UBound(arrLista)sql = ("INSERT INTO tbmensageiro (assunto,mensagem,destinatario,status,excluido,remetente,DATA,intencao) values ('"&assunto&"','" &mensagem&"','" &arrLista(i)&"','"&status&"','"&excluido&"','"&remetente&"','"&data&"','"&INTENCAO&"')")set lista = strConexao.execute(sql) 'response.write sql next%>

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.