Estou com um grande problema, estou desenvolvendo um sistema e assim ela já tem muito registro, quando vou gravar algo em certas telas demora quase 1 minuto.
Estou usando assim:
<%
[b]Response.CacheControl = "no-cache"
Response.AddHeader "Pragma","no-cache"
Response.Buffer = FALSE
Session.TimeOut = 1440
Server.ScriptTimeOut = 999.999
if session ("v_o_f_alterar") = 0 then
Response.redirect "erro.asp"
end if
'Função para remover caracteres especiais dos números
Function RemoveReal(valor)
if (valor <> "") then
RemoveReal = Replace(valor, ".", ",") 'Troca vírgula por ponto
end if
End Function
Session.LCID = 1046
id_deb = request.QueryString("id_deb")
id_ch = request.QueryString("id_ch")
id_cliente = request.QueryString("id_cliente")
num_os = request.QueryString("no_os")
num_cob = request.QueryString("no_cob")
id = request.QueryString("id")
nome_empresa = request.QueryString("nome_empresa")
descricao = request.QueryString("descricao")
sistema = request.QueryString("sistema")
gerar_of_om = request.QueryString("gerar_of_om")
data_cobranca = Request.form("data_cobranca")
data_fechado = Request.QueryString("data_fechado")
tipo_cob = Request.Form("tipo_cob")
situacao_cob = Request.form("situacao_cob")
gerar_cob = Request.form("gerar_cob")
informe_cob = Replace(Request.form("informe_cob"),"'","''")
usuario_altera = session("usuario")
ip_altera = Request.ServerVariables("REMOTE_ADDR")
'Conexao tabela INTERBASE
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={Firebird/Interbase® driver}; DBNAME=localhost:c:\Inetpub\wwwroot\sistema_interno_hcs_v.1.0\bd\BD_HCS.GDB; UID=SYSDBA;PWD=masterkey")
'if situacao_cob = "2" then
' fechado_por = session("usuario")
' data_fechado = cdate(FormatDateTime(Date, 2))
'else
' data_fechado = ""
'end if
'Atualiza informaçoes no INTERBASE 'TB_GERAR_OF_CAD
oConn.execute ("update TB_GERAR_COB_CAD Set data_cobranca = '"&data_cobranca&"', tipo_cob = '"&tipo_cob&"', informe_cob = '"&informe_cob&"', gerar_of_om = '"&gerar_of_om&"' WHERE no_cob = "&request.QueryString("no_cob"))
'Atualiza informaçoes no INTERBASE 'TB_GERAR_OF_CAD_ITENS'
oConn.execute ("update TB_GERAR_COB_CAD_ITENS Set data_cobranca = '"&data_cobranca&"', tipo_cob = '"&tipo_cob&"', informe_cob = '"&informe_cob&"', gerar_of_om = '"&gerar_of_om&"' WHERE id = " & cdbl(id))
'Atualiza informaçoes no INTERBASE 'TB_GERAR_OF_CAD'
oConn.execute ("update TB_GERAR_COB_CAD Set data_cobranca = '"&data_cobranca&"' WHERE no_cob = "&Request.QueryString("no_cob"))
ato = request.Form("opt3")
dd10 = request.Form("opt10")
dd15 = request.Form("opt4")
dd30 = request.Form("opt5")
dd45 = request.Form("opt6")
dd60 = request.Form("opt7")
dd90 = request.Form("opt8")
dd135 = request.Form("opt12")
dd120 = request.Form("opt9")
dd150 = request.Form("opt11")
forma_pagto = request.Form("forma_pagto")
data_venc_pagto = Request.Form("data_venc_pagto")
anotacao1 = Request.Form("anotacao1")
numeracao = Request.Form("numeracao")
'Verificando quantidade de registros
Set campos = server.createobject("adodb.recordset")
Set campos = oConn.execute ("SELECT COUNT(no_os) AS temp FROM TB_INFO_PAGTO")
num_rows = campos("temp")
campos.Close()
for i = 1 to num_rows
id_ch = Request.form("id_ch_"&i)
data_venc_pagto = Request.form("data_venc_pagto_"&i)
forma_pagto = Request.form("forma_pagto_"&i)
numeracao = Request.form("numeracao_"&i)
anotacao1 = Request.form("anotacao1_"&i)
valor_pagto = RemoveReal(Request.form("valor_pagto_"&i))
data_pago = Request.form("data_pago_"&i)
valor_pago = RemoveReal(Request.form("valor_pago_"&i))
status_pagto = Request.form("status_pagto_"&i)
'Atualiza informaçoes no INTERBASE 'TB_INFO_PAGTO
oConn.execute ("update TB_INFO_PAGTO Set ato = '"&ato&"', dd10 = '"&dd10&"', dd15 = '"&dd15&"', dd30 = '"&dd30&"', dd45 = '"&dd45&"', dd60 = '"&dd60&"', dd90 = '"&dd90&"', dd120 = '"&dd120&"', dd135 = '"&dd135&"',dd150 = '"&dd150&"', forma_pagto = '"&forma_pagto&"', numeracao = '"&numeracao&"', data_venc_pagto = '"&data_venc_pagto&"', valor_pagto = '"&valor_pagto&"', data_pago = '"&data_pago&"', valor_pago = '"&valor_pago&"', status_pagto = '"&status_pagto&"', anotacao1 = '"&anotacao1&"' WHERE id_ch = " & cdbl(id_ch))
set campos = nothing
next
'Verificando quantidade de registros
Set credito = server.createobject("adodb.recordset")
Set credito = oConn.execute ("SELECT COUNT(no_os) AS temp FROM TB_CREDITO")
num_rows = credito("temp")
credito.Close()
for i = 1 to num_rows
id = Request.form("id_"&i)
quant = Request.form("quant_"&i)
observacao = Request.form("observacao_"&i)
data_credito = Request.form("data_credito_"&i)
valor_credito = RemoveReal(Request.form("valor_credito_"&i))
'Atualiza informaçoes no INTERBASE 'TB_CREDITO_DEBITO
oConn.execute ("update TB_CREDITO Set quant = '"&quant&"', observacao = '"&observacao&"', data_credito = '"&data_credito&"', valor_credito = '"&valor_credito&"' WHERE id = " & cdbl(id))
set credito = nothing
next
'Verificando quantidade de registros
Set debito = server.createobject("adodb.recordset")
Set debito = oConn.execute ("SELECT COUNT(no_os) AS temp FROM TB_DEBITO")
num_rows = debito("temp")
debito.Close()
for i = 1 to num_rows
id_deb = Request.form("id_deb_"&i)
quant_deb = Request.form("quant_deb_"&i)
observacao_deb = Request.form("observacao_deb_"&i)
data_debito = Request.form("data_debito_"&i)
valor_debito = RemoveReal(Request.form("valor_debito_"&i))
'Atualiza informaçoes no INTERBASE 'TB_DEBITO
oConn.execute ("update TB_DEBITO Set quant_deb = '"&quant_deb&"', observacao_deb = '"&observacao_deb&"', data_debito = '"&data_debito&"', valor_debito = '"&valor_debito&"' WHERE id_deb = " & cdbl(id_deb))
set debito = nothing
next
oConn.Close()
%>
Pergunta
PRWEBMaster
Olá pessoal, tudo bem?
Estou com um grande problema, estou desenvolvendo um sistema e assim ela já tem muito registro, quando vou gravar algo em certas telas demora quase 1 minuto.
Estou usando assim:
<% [b]Response.CacheControl = "no-cache" Response.AddHeader "Pragma","no-cache" Response.Buffer = FALSE Session.TimeOut = 1440 Server.ScriptTimeOut = 999.999 if session ("v_o_f_alterar") = 0 then Response.redirect "erro.asp" end if 'Função para remover caracteres especiais dos números Function RemoveReal(valor) if (valor <> "") then RemoveReal = Replace(valor, ".", ",") 'Troca vírgula por ponto end if End Function Session.LCID = 1046 id_deb = request.QueryString("id_deb") id_ch = request.QueryString("id_ch") id_cliente = request.QueryString("id_cliente") num_os = request.QueryString("no_os") num_cob = request.QueryString("no_cob") id = request.QueryString("id") nome_empresa = request.QueryString("nome_empresa") descricao = request.QueryString("descricao") sistema = request.QueryString("sistema") gerar_of_om = request.QueryString("gerar_of_om") data_cobranca = Request.form("data_cobranca") data_fechado = Request.QueryString("data_fechado") tipo_cob = Request.Form("tipo_cob") situacao_cob = Request.form("situacao_cob") gerar_cob = Request.form("gerar_cob") informe_cob = Replace(Request.form("informe_cob"),"'","''") usuario_altera = session("usuario") ip_altera = Request.ServerVariables("REMOTE_ADDR") 'Conexao tabela INTERBASE Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open("DRIVER={Firebird/Interbase® driver}; DBNAME=localhost:c:\Inetpub\wwwroot\sistema_interno_hcs_v.1.0\bd\BD_HCS.GDB; UID=SYSDBA;PWD=masterkey") 'if situacao_cob = "2" then ' fechado_por = session("usuario") ' data_fechado = cdate(FormatDateTime(Date, 2)) 'else ' data_fechado = "" 'end if 'Atualiza informaçoes no INTERBASE 'TB_GERAR_OF_CAD oConn.execute ("update TB_GERAR_COB_CAD Set data_cobranca = '"&data_cobranca&"', tipo_cob = '"&tipo_cob&"', informe_cob = '"&informe_cob&"', gerar_of_om = '"&gerar_of_om&"' WHERE no_cob = "&request.QueryString("no_cob")) 'Atualiza informaçoes no INTERBASE 'TB_GERAR_OF_CAD_ITENS' oConn.execute ("update TB_GERAR_COB_CAD_ITENS Set data_cobranca = '"&data_cobranca&"', tipo_cob = '"&tipo_cob&"', informe_cob = '"&informe_cob&"', gerar_of_om = '"&gerar_of_om&"' WHERE id = " & cdbl(id)) 'Atualiza informaçoes no INTERBASE 'TB_GERAR_OF_CAD' oConn.execute ("update TB_GERAR_COB_CAD Set data_cobranca = '"&data_cobranca&"' WHERE no_cob = "&Request.QueryString("no_cob")) ato = request.Form("opt3") dd10 = request.Form("opt10") dd15 = request.Form("opt4") dd30 = request.Form("opt5") dd45 = request.Form("opt6") dd60 = request.Form("opt7") dd90 = request.Form("opt8") dd135 = request.Form("opt12") dd120 = request.Form("opt9") dd150 = request.Form("opt11") forma_pagto = request.Form("forma_pagto") data_venc_pagto = Request.Form("data_venc_pagto") anotacao1 = Request.Form("anotacao1") numeracao = Request.Form("numeracao") 'Verificando quantidade de registros Set campos = server.createobject("adodb.recordset") Set campos = oConn.execute ("SELECT COUNT(no_os) AS temp FROM TB_INFO_PAGTO") num_rows = campos("temp") campos.Close() for i = 1 to num_rows id_ch = Request.form("id_ch_"&i) data_venc_pagto = Request.form("data_venc_pagto_"&i) forma_pagto = Request.form("forma_pagto_"&i) numeracao = Request.form("numeracao_"&i) anotacao1 = Request.form("anotacao1_"&i) valor_pagto = RemoveReal(Request.form("valor_pagto_"&i)) data_pago = Request.form("data_pago_"&i) valor_pago = RemoveReal(Request.form("valor_pago_"&i)) status_pagto = Request.form("status_pagto_"&i) 'Atualiza informaçoes no INTERBASE 'TB_INFO_PAGTO oConn.execute ("update TB_INFO_PAGTO Set ato = '"&ato&"', dd10 = '"&dd10&"', dd15 = '"&dd15&"', dd30 = '"&dd30&"', dd45 = '"&dd45&"', dd60 = '"&dd60&"', dd90 = '"&dd90&"', dd120 = '"&dd120&"', dd135 = '"&dd135&"',dd150 = '"&dd150&"', forma_pagto = '"&forma_pagto&"', numeracao = '"&numeracao&"', data_venc_pagto = '"&data_venc_pagto&"', valor_pagto = '"&valor_pagto&"', data_pago = '"&data_pago&"', valor_pago = '"&valor_pago&"', status_pagto = '"&status_pagto&"', anotacao1 = '"&anotacao1&"' WHERE id_ch = " & cdbl(id_ch)) set campos = nothing next 'Verificando quantidade de registros Set credito = server.createobject("adodb.recordset") Set credito = oConn.execute ("SELECT COUNT(no_os) AS temp FROM TB_CREDITO") num_rows = credito("temp") credito.Close() for i = 1 to num_rows id = Request.form("id_"&i) quant = Request.form("quant_"&i) observacao = Request.form("observacao_"&i) data_credito = Request.form("data_credito_"&i) valor_credito = RemoveReal(Request.form("valor_credito_"&i)) 'Atualiza informaçoes no INTERBASE 'TB_CREDITO_DEBITO oConn.execute ("update TB_CREDITO Set quant = '"&quant&"', observacao = '"&observacao&"', data_credito = '"&data_credito&"', valor_credito = '"&valor_credito&"' WHERE id = " & cdbl(id)) set credito = nothing next 'Verificando quantidade de registros Set debito = server.createobject("adodb.recordset") Set debito = oConn.execute ("SELECT COUNT(no_os) AS temp FROM TB_DEBITO") num_rows = debito("temp") debito.Close() for i = 1 to num_rows id_deb = Request.form("id_deb_"&i) quant_deb = Request.form("quant_deb_"&i) observacao_deb = Request.form("observacao_deb_"&i) data_debito = Request.form("data_debito_"&i) valor_debito = RemoveReal(Request.form("valor_debito_"&i)) 'Atualiza informaçoes no INTERBASE 'TB_DEBITO oConn.execute ("update TB_DEBITO Set quant_deb = '"&quant_deb&"', observacao_deb = '"&observacao_deb&"', data_debito = '"&data_debito&"', valor_debito = '"&valor_debito&"' WHERE id_deb = " & cdbl(id_deb)) set debito = nothing next oConn.Close() %>Será que estou fazendo algo de errado?
Demora muito para gravar.
Muito Obrigado.
Editado por quintelabAdicionado BBCode Code
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.