Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
>
<%
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 ?
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 ?
hummm.... concertei uns detalhes..... deu certo.. Muito obrigado novamente LucasBR !!!!
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%>
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.
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 ?