<% '-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# ' Loja Exemplo Locaweb ' Versão: 6.4 ' Data: 12/09/06 ' Arquivo: ADM_processa_txtProdutos.asp ' Versão do arquivo: 0.0 ' Data da ultima atualização: 16/11//06 '----------------------------------------------------------------------------- ' Licença Código Livre: http://comercio.Locaweb.com.br/gpl/gpl.txt '-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# %> <% ' Esta página só pode ser acessada se o visitante já se autenticou checa_senha() 'Define o tempo maximo para execução do arquivo server.scripttimeout = 90 'Chamada para conexão com o banco de dados Call abre_conexao(conexao) 'Cria o objeto para upload de arquivo Set myFileUpload = Server.CreateObject("SoftArtisans.FileUp") myFileUpload.Form("txtAtualizacao").Path = Application("DiretorioAtualizacaoProdutos") Arquivo = Mid(myFileUpload.Form("txtAtualizacao").UserFilename, InstrRev(myFileUpload.Form("txtAtualizacao").UserFilename, "\") + 1) myFileUpload.Form("txtAtualizacao").SaveAs Arquivo 'Destroi o objeto de upload Set myFileUpload = Nothing 'Cria o objeto para abrir arquivo texto Set objFSO = Server.CreateObject("Scripting.FileSystemObject") caminho = Application("DiretorioAtualizacaoProdutos") & Arquivo 'Cria o objeto para ler o arquivo texto Set openTxt = objFSO.OpenTextFile(caminho, 1,0) 'Loop para leitura das linhas do arquivo texto while (not openTxt.AtEndOfStream) and response.isclientconnected() linha_txt = openTxt.readline arrayx = split(linha_txt,"|") If UBound(arrayx) <> 2 Then response.write UBound(arrayx) response.end End if 'Response.write "SELECT codigo_produto_loja, preco_base, preco_unitario, quantidade_produto FROM produtos WHERE codigo_produto_loja = '" & arrayx(0) & "'" 'Query de consulta a tabela Produtos Query_produtos = "SELECT codigo_produto_loja, preco_base, preco_unitario, quantidade_produto FROM produtos WHERE codigo_produto_loja = '" & arrayx(0) & "'" 'Cria objeto para consultar as podutos Set RS_Produtos = Server.CreateObject("ADODB.Recordset") 'Conexão ADO Set RS_Produtos.ActiveConnection = Conexao RS_Produtos.CursorLocation = 3 RS_Produtos.CursorType = 0 RS_Produtos.LockType = 3 'Executa a query RS_Produtos.Open Query_produtos 'Se o registro existe, atualiza. If not RS_Produtos.Eof then preco = arrayx(1) 'Retira o ponto preco_unitario = replace(preco,".","") ' Retira virgula e repoe por ponto, para evitar problemas no UPDATE, caso banco seja SQL If Application("TipoBanco")="mssql" Then preco_unitario = replace(preco_unitario,",",".") End if quantidade = arrayx(2) If preco <> "" Then Response.write "UPDATE produtos SET preco_base = '" & preco_unitario & "', preco_unitario = '"& preco_unitario &"' WHERE codigo_produto_loja = '" & arrayx(0) & "'" & "
" Conexao.Execute "UPDATE produtos SET preco_base = '" & preco_unitario & "', preco_unitario = '"& preco_unitario &"' WHERE codigo_produto_loja = '" & arrayx(0) & "'" End if If quantidade <> "" Then RS_Produtos("quantidade_produto") = arrayx(2) Conexao.Execute "UPDATE produtos SET quantidade_produto = " & arrayx(2) & " WHERE codigo_produto_loja = '" & arrayx(0) & "'" End if 'Se o registro não existe acumula na variavel indicativa Else nolocali = nolocali & arrayx(0) &"|"& arrayx(1) &"|"& arrayx(2) & "
" End if wend Set RS_Produtos = Nothing openTxt.close 'Destrói os objetos criados set openTxt = nothing set objFSO = nothing 'Chamada para o fechamento do banco Call Fecha_conexao() 'Transfere o valor da variavel indicativa para uma session 'A session será exibida na página de upload de arquivo session("nolocali") = nolocali 'Mensagem de resposta msg_resultado = "Informações atualizadas" 'Redirect para página do POST Response.redirect "ADM_envia_txtProdutos.asp?msg_resultado="& msg_resultado %>