Ir para conteúdo
Fórum Script Brasil
  • 0

Problemão em asp


PRWEBMaster

Pergunta

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 quintelab
Adicionado 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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...