Ir para conteúdo

POWERED BY:

Arquivado

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

PhillipeBhz

[Resolvido] Erro Microsoft Cursor Engine error '80040e38'

Recommended Posts

Boa tarde.

 

Amigos estou fazendo alterações na loja locaweb, no arquivo ADM_insereAltProduto.asp, inserir mais tres campos na tabela, e alterei esse arquivo para poder gravar os dados, na inserção ocorre tudo bem, mas na alteração do produto ele retorna o erro:

Microsoft Cursor Engine error '80040e38'

 

Row cannot be located for updating. Some values may have been changed since it was last read.

 

/ADM_insereAltProduto.asp, line 587.

Estranhamente não é com todos os produtos que ocorre esse erro. esta ai o cod se puderem me ajudar.

Coloquei em * na frente dos novos campos.

 

<%
'-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
' Loja Exemplo Locaweb
' Versão: 6.5
' Data: 12/09/06
' Arquivo: ADM_insereAltProduto.asp
' Versão do arquivo: 0.0
' Data da ultima atualização: 23/10/08
'
'-----------------------------------------------------------------------------
' Licença Código Livre: [url="http://comercio.Locaweb.com.br/gpl/gpl.txt"]http://comercio.Locaweb.com.br/gpl/gpl.txt[/url]
'-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

%>
<!--#INCLUDE FILE="funcoes/ADM_funcoes_checa_senha.asp"-->
<!--#INCLUDE FILE="../funcoes/funcoes.asp" -->
<%
' Esta página só pode ser acessada se o visitante já se autenticou
checa_senha()

'Verifica se o perfil de usuário permite acesso a esta página
If checa_perfil_admin_menu(""&ADMProd&"") = false Then
	Response.redirect "ADM_home.asp?msg=SEU PERFIL DE USUÁRIO NÃO PERMITE ACESSO A ESTA PÁGINA"
	Response.end
End If

'Chamada para conexão com o banco de dados
Call abre_conexao(conexao)
'Lê o idioma default da loja
varLang = Application("varLang")

'Cria o objeto para upload de arquivo
Set myFileUpload = Server.CreateObject("SoftArtisans.FileUp")

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

'Checa se o diretório TEMP existe
If objFSO.FolderExists(Application("DiretorioImagensConteudo") & "\produtos\temp") = false then
	'Cria o diretório TEMP
	objFSO.CreateFolder(Application("DiretorioImagensConteudo") & "\produtos\temp")
End If

Set objFSO = Nothing

'Captura o código do produto enviado por GET
'codigo_produto = request.querystring("codigo_produto")

If myFileUpload.Form("acao_admin") <> "" Then
	
	If myFileUpload.form("ExcluirImg") <> "" Then
	
		'Exclusão das imagens adicionais quando solicitado
		If InStr(myFileUpload.form("ExcluirImg"),",") = 0 Then

			VetorImagemTemp  = myFileUpload.form("ExcluirImg")
			VetorImagem	  = VetorImagemTemp
			VetorImagemCount = 0
		Else
			VetorImagemTemp = Split(myFileUpload.form("ExcluirImg"), ",") 
			VetorImagemCount =  Ubound(VetorImagemTemp) 
		End if
		   
		For Iimagen = 0 To VetorImagemCount

			If VetorImagemCount <> 0 Then
				VetorImagem = VetorImagemTemp(Iimagen)
			End If

			VetorImagem = Replace(VetorImagem,"/","\")

			Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
				
				VetorImagemX = Split(VetorImagem,"|")

				'Apaga a imagem grande
				imgExGRD = Application("DiretorioLoja") & TRIM(VetorImagemX(0))
				If objFSO.FileExists(imgExGRD) Then
					objFSO.DeleteFile imgExGRD
				End If

				'Apaga a imagem pequena
				imgExPQN = Application("DiretorioLoja") & Replace(Replace(TRIM(VetorImagemX(0)),"GRD_","PQN_"),"imagensGRD","imagensPQN")
				If objFSO.FileExists(imgExPQN) Then
					objFSO.DeleteFile imgExPQN
				End If
  
			Set objFSO = Nothing
			
		Next

		'A imagem principal recebe o valor temporário GRD_00 no parametro ExcluirImg
		'Apenas para a imagem principal a opção de excluir imagem remonta o valor com imagem de produto não disponível
		If InStr(myFileUpload.form("ExcluirImg"),"GRD_00") <> 0 Then
			img_produtoPQN = "config/imagens_conteudo/produtos/imagensPQN/PQN_naodisponivel.gif"
			img_produtoGRD = "config/imagens_conteudo/produtos/imagensGRD/GRD_naodisponivel.gif"
		End If
		
		If InStr(myFileUpload.form("ExcluirImg"),"GRD_01") <> 0 Then
			img_produto_adic01GRD_apagada = "sim"
			img_produto_adic01GRD = Empty
			img_produto_adic01PQN_apagada = "sim"
			img_produto_adic01PQN = Empty
		End If
		
		If InStr(myFileUpload.form("ExcluirImg"),"GRD_02") <> 0 Then
			img_produto_adic02GRD_apagada = "sim"
			img_produto_adic02GRD = Empty
			img_produto_adic02PQN_apagada = "sim"
			img_produto_adic02PQN = Empty
		End If
		
		If InStr(myFileUpload.form("ExcluirImg"),"GRD_03") <> 0 Then
			img_produto_adic03GRD_apagada = "sim"
			img_produto_adic03GRD = Empty
			img_produto_adic03PQN_apagada = "sim"
			img_produto_adic03PQN = Empty
		End If

	End If 

End If

codigo_categoria = myFileUpload.Form("codigo_categoria")

'Definição da mensagem de resposta da ação administrativa (acao_admin)
If myFileUpload.form("acao_admin") = "novo registro" Then
	msg_resultado = "Produto cadastrado com sucesso. <A HREF='adm_cria_produto.asp?codigo_categoria="&codigo_categoria&"' class='TextoPage'>Clique aqui para continuar cadastrando na mesma categoria.</A>"
	actionForm = "ADM_altera_produto.asp"
ElseIf myFileUpload.form("acao_admin") = "alterar registro" Then
	msg_resultado = "Produto alterado com sucesso."
	actionForm = "ADM_altera_produto.asp"
End if

codigo_chave = myFileUpload.Form("codigo_chave")
apagaresteproduto = myFileUpload.Form("apagaresteproduto")
codigo_produto_loja = myFileUpload.Form("codigo_produto_loja")

codigo_cambio = myFileUpload.Form("codigo_cambio")
peso_produto = myFileUpload.Form("peso_produto")
quantidade_produto = myFileUpload.Form("quantidade_produto")
cor = myFileUpload.Form("cor")
tamanho = myFileUpload.Form("tamanho")
genero = myFileUpload.Form("genero")
codigo_isbn = myFileUpload.Form("codigo_isbn")
checkIdioma = myFileUpload.Form("sigla_idioma")
idiomaExbicao = myFileUpload.Form("idioma")
destaque_vitrine = myFileUpload.Form("destaque_vitrine")
disponivel = myFileUpload.Form("disponivel")

' Retira virgula e repoe por ponto, para evitar problemas no UPDATE
preco_unitario	   = replace(myFileUpload.Form("preco_unitario"),".","")
preco_unitario	   = replace(preco_unitario,",",".")

If myFileUpload.Form("promocao") = "1" Then
	promocao = myFileUpload.Form("promocao")
	desconto = myFileUpload.Form("desconto")
	dataInicio = myFileUpload.Form("dataInicio")
	dataFim = myFileUpload.Form("dataFim")
Else
	promocao = "0"
	desconto = "0"
	dataInicio = empty
	dataFim = empty
End if

If myFileUpload.Form("idade_ini") <> "" Then
	idade_ini = cint(myFileUpload.Form("idade_ini"))
Else
	idade_ini = empty
End If  

If myFileUpload.Form("idade_fin") <> "" Then
	idade_fin = cint(myFileUpload.Form("idade_fin"))
Else
	idade_fin = empty
End If 

If myFileUpload.Form("codigo_marca") <> "" Then
	codigo_marca = myFileUpload.Form("codigo_marca")
Else
	codigo_marca = empty
End If  

If myFileUpload.Form("codigo_subcategoria") <> "" Then
	codigo_subcategoria = myFileUpload.Form("codigo_subcategoria")
Else
	codigo_subcategoria = empty
End If 

If myFileUpload.form("remover") = "Apagar Produto" Then


	'O bloco abaixo se encarrega de apagar as imagens do produto quando o mesmo for excluido do banco.
	Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

		If objFSO.FileExists(Application("DiretorioLoja") & myFileUpload.Form("Del_img_produtoGRD")) Then
			objFSO.DeleteFile Application("DiretorioLoja") & myFileUpload.Form("Del_img_produtoGRD")
			objFSO.DeleteFile Application("DiretorioLoja") & myFileUpload.Form("Del_img_produtoPQN")
		End If

		If objFSO.FileExists(Application("DiretorioLoja") & myFileUpload.Form("Del_img_produto_adic01GRD")) Then
			objFSO.DeleteFile Application("DiretorioLoja") & myFileUpload.Form("Del_img_produto_adic01GRD")
			objFSO.DeleteFile Application("DiretorioLoja") & myFileUpload.Form("Del_img_produto_adic01PQN")
		End If

		If objFSO.FileExists(Application("DiretorioLoja") & myFileUpload.Form("Del_img_produto_adic02GRD")) Then
			objFSO.DeleteFile Application("DiretorioLoja") & myFileUpload.Form("Del_img_produto_adic02GRD")
			objFSO.DeleteFile Application("DiretorioLoja") & myFileUpload.Form("Del_img_produto_adic02PQN")
		End If

		If objFSO.FileExists(Application("DiretorioLoja") & myFileUpload.Form("Del_img_produto_adic03GRD")) Then
			objFSO.DeleteFile Application("DiretorioLoja") & myFileUpload.Form("Del_img_produto_adic03GRD")
			objFSO.DeleteFile Application("DiretorioLoja") & myFileUpload.Form("Del_img_produto_adic03PQN")
		End If

	Set objFSO = nothing
	'Exclui o produto do banco
	Conexao.Execute "DELETE FROM Produtos WHERE codigo_produto = " & request.querystring("codigo_produto")&""

	Call Fecha_conexao()

	msg_resultado = "Produto excluido com sucesso."

	'Redireciona para a página de pesquisa de produtos
	Response.redirect "adm_lista_produto.asp?msg_resultadoProduto="&msg_resultado
	Response.end

Else
	'Se a ação for a inclusão de um produto
	If myFileUpload.form("acao_admin") = "novo registro" Then
		Set RS_PegaCodigoProduto = Server.CreateObject("ADODB.Recordset")
		RS_PegaCodigoProduto.CursorLocation = 3
		RS_PegaCodigoProduto.CursorType = 0
		RS_PegaCodigoProduto.LockType = 3

		RS_PegaCodigoProduto.Open "SELECT MAX(codigo_produto) AS novo_codigo_produto FROM Produtos" , Conexao

		If IsNull(RS_PegaCodigoProduto("novo_codigo_produto")) Then
			novo_codigo_produto = 1
		Else 
			novo_codigo_produto = RS_PegaCodigoProduto("novo_codigo_produto") + 1
		End If

		RS_PegaCodigoProduto.Close
		Set RS_PegaCodigoProduto = Nothing
	End IF		
	
	'Define o código do produto	
	If novo_codigo_produto <> "" Then
		codigo_produto = novo_codigo_produto
	Else
		codigo_produto =  request.querystring("codigo_produto")
	End If

	Set jpg = Server.CreateObject("Persits.Jpeg")
	'Define o tamanho da imagem pequenas
	L = 144
	G = 350

		' diretório em que a imagem será salva
		If myFileUpload.Form("img_produto").UserFilename <> "" Then  

			'Salva a imagem enviada
			myFileUpload.Form("img_produto").Path = Application("DiretorioImagensConteudo") & "\produtos\temp"
			myFileUpload.Form("img_produto").Save  
			ArquivoTemp = Mid(myFileUpload.Form("img_produto").UserFilename, InstrRev(myFileUpload.Form("img_produto").UserFilename, "\") + 1) 

			'Gera imagem pequena usando o componente aspjpeg
			jpg.Open( myFileUpload.Form("img_produto").Path & "\" & ArquivoTemp)
			jpg.Width = L
			jpg.Height = Jpg.OriginalHeight * 144 / Jpg.OriginalWidth
			jpg.Sharpen 1, "101"
			jpg.Save Application("DiretorioImagensConteudo") & "\produtos\imagensPQN\PQN_" & codigo_produto & "_" & ArquivoTemp

			img_produtoPQN = "config/imagens_conteudo/produtos/imagensPQN/PQN_" & codigo_produto & "_" & ArquivoTemp

		   
			'Gera imagem pequena usando o componente aspjpeg
			jpg.Open( myFileUpload.Form("img_produto").Path & "\" & ArquivoTemp)
			'Caso a opção de redimensionar a imagem esteja marcada aqui abaixo ocorre a mudança
			 If myFileUpload.Form("redimimg_produto") = "sim" Then				
				jpg.Width = G
				jpg.Height = Jpg.OriginalHeight * 350 / Jpg.OriginalWidth
				jpg.Sharpen 1, "101"
			End if
			jpg.Save Application("DiretorioImagensConteudo") & "\produtos\imagensGRD\GRD_" & codigo_produto & "_" & ArquivoTemp
			img_produtoGRD = "config/imagens_conteudo/produtos/imagensGRD/GRD_" & codigo_produto & "_" & ArquivoTemp

			'Deleta a imagem enviada
			Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
				If objFSO.FileExists(Application("DiretorioImagensConteudo") & "\produtos\temp\" & ArquivoTemp) Then
					objFSO.DeleteFile Application("DiretorioImagensConteudo") & "\produtos\temp\" & ArquivoTemp
				End If
			Set objFSO = Nothing
			
		End If 

		If myFileUpload.Form("img_produto_adic01").UserFilename <> "" Then  

			'Salva a imagem enviada
			myFileUpload.Form("img_produto_adic01").Path = Application("DiretorioImagensConteudo") & "\produtos\temp"
			myFileUpload.Form("img_produto_adic01").Save  
			ArquivoTemp01 = Mid(myFileUpload.Form("img_produto_adic01").UserFilename, InstrRev(myFileUpload.Form("img_produto_adic01").UserFilename, "\") + 1) 

			'Gera imagem pequena usando o componente aspjpeg
			jpg.Open( myFileUpload.Form("img_produto_adic01").Path & "\" & ArquivoTemp01)
			jpg.Width = L
			jpg.Height = Jpg.OriginalHeight * 144 / Jpg.OriginalWidth
			jpg.Sharpen 1, "101"
			jpg.Save Application("DiretorioImagensConteudo") & "\produtos\imagensPQN\PQN_adic01_" & codigo_produto & "_" & ArquivoTemp01

			img_produto_adic01PQN = "config/imagens_conteudo/produtos/imagensPQN/PQN_adic01_" & codigo_produto & "_" & ArquivoTemp01

			
			'Gera imagem pequena usando o componente aspjpeg
			jpg.Open( myFileUpload.Form("img_produto_adic01").Path & "\" & ArquivoTemp01)
			'Caso a opção de redimensionar a imagem esteja marcada aqui abaixo ocorre a mudança
			If myFileUpload.Form("redimimg_produto_adic01") = "sim" then
				jpg.Width = G
				jpg.Height = Jpg.OriginalHeight * 350 / Jpg.OriginalWidth
				jpg.Sharpen 1, "101"
			End If
			
			jpg.Save Application("DiretorioImagensConteudo") & "\produtos\imagensGRD\GRD_adic01_" & codigo_produto & "_" & ArquivoTemp01

			img_produto_adic01GRD = "config/imagens_conteudo/produtos/imagensGRD/GRD_adic01_" & codigo_produto & "_" & ArquivoTemp01

			'Deleta a imagem enviada
			Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
				If objFSO.FileExists(Application("DiretorioImagensConteudo") & "\produtos\temp\" & ArquivoTemp01) Then
					objFSO.DeleteFile Application("DiretorioImagensConteudo") & "\produtos\temp\" & ArquivoTemp01
				End If
			Set objFSO = Nothing
			
		End If 

		If myFileUpload.Form("img_produto_adic02").UserFilename <> "" Then  

			'Salva a imagem enviada
			myFileUpload.Form("img_produto_adic02").Path = Application("DiretorioImagensConteudo") & "\produtos\temp"
			myFileUpload.Form("img_produto_adic02").Save  
			ArquivoTemp02 = Mid(myFileUpload.Form("img_produto_adic02").UserFilename, InstrRev(myFileUpload.Form("img_produto_adic02").UserFilename, "\") + 1) 

			'Gera imagem pequena usando o componente aspjpeg
			jpg.Open( myFileUpload.Form("img_produto_adic02").Path & "\" & ArquivoTemp02)
			jpg.Width = L
			jpg.Height = Jpg.OriginalHeight * 144 / Jpg.OriginalWidth
			jpg.Sharpen 1, "101"
			jpg.Save Application("DiretorioImagensConteudo") & "\produtos\imagensPQN\PQN_adic02_" & codigo_produto & "_" & ArquivoTemp02

			img_produto_adic02PQN = "config/imagens_conteudo/produtos/imagensPQN/PQN_adic02_" & codigo_produto & "_" & ArquivoTemp02

			'Gera imagem pequena usando o componente aspjpeg
			jpg.Open( myFileUpload.Form("img_produto_adic02").Path & "\" & ArquivoTemp02)
			'Caso a opção de redimensionar a imagem esteja marcada aqui abaixo ocorre a mudança
			If myFileUpload.Form("redimimg_produto_adic02") = "sim" then
				jpg.Width = G
				jpg.Height = Jpg.OriginalHeight * 350 / Jpg.OriginalWidth
				jpg.Sharpen 1, "101"
			End if
			jpg.Save Application("DiretorioImagensConteudo") & "\produtos\imagensGRD\GRD_adic02_" & codigo_produto & "_" & ArquivoTemp02

			img_produto_adic02GRD = "config/imagens_conteudo/produtos/imagensGRD/GRD_adic02_" & codigo_produto & "_" & ArquivoTemp02

			'Deleta a imagem enviada
			Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
				If objFSO.FileExists(Application("DiretorioImagensConteudo") & "\produtos\temp\" & ArquivoTemp02) Then
					objFSO.DeleteFile Application("DiretorioImagensConteudo") & "\produtos\temp\" & ArquivoTemp02
				End If
			Set objFSO = Nothing
			
		End If 

		If myFileUpload.Form("img_produto_adic03").UserFilename <> "" Then  

			'Salva a imagem enviada
			myFileUpload.Form("img_produto_adic03").Path = Application("DiretorioImagensConteudo") & "\produtos\temp"
			myFileUpload.Form("img_produto_adic03").Save  
			ArquivoTemp03 = Mid(myFileUpload.Form("img_produto_adic03").UserFilename, InstrRev(myFileUpload.Form("img_produto_adic03").UserFilename, "\") + 1) 

			'Gera imagem pequena usando o componente aspjpeg
			jpg.Open( myFileUpload.Form("img_produto_adic03").Path & "\" & ArquivoTemp03)
			jpg.Width = L
			jpg.Height = Jpg.OriginalHeight * 144 / Jpg.OriginalWidth
			jpg.Sharpen 1, "101"
			jpg.Save Application("DiretorioImagensConteudo") & "\produtos\imagensPQN\PQN_adic03_" & codigo_produto & "_" & ArquivoTemp03

			img_produto_adic03PQN = "config/imagens_conteudo/produtos/imagensPQN/PQN_adic03_" & codigo_produto & "_" & ArquivoTemp03

			'Gera imagem pequena usando o componente aspjpeg
			jpg.Open( myFileUpload.Form("img_produto_adic03").Path & "\" & ArquivoTemp03)
			'Caso a opção de redimensionar a imagem esteja marcada aqui abaixo ocorre a mudança
			If myFileUpload.Form("redimimg_produto_adic03") = "sim" then
				jpg.Width = G
				jpg.Height = Jpg.OriginalHeight * 350 / Jpg.OriginalWidth
				jpg.Sharpen 1, "101"
			End if
			jpg.Save Application("DiretorioImagensConteudo") & "\produtos\imagensGRD\GRD_adic03_" & codigo_produto & "_" & ArquivoTemp03

			img_produto_adic03GRD = "config/imagens_conteudo/produtos/imagensGRD/GRD_adic03_" & codigo_produto & "_" & ArquivoTemp03

			'Deleta a imagem enviada
			Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
				If objFSO.FileExists(Application("DiretorioImagensConteudo") & "\produtos\temp\" & ArquivoTemp03) Then
					objFSO.DeleteFile Application("DiretorioImagensConteudo") & "\produtos\temp\" & ArquivoTemp03
				End If
			Set objFSO = nothing
		End If 

	Set jpg = Nothing


	'Define os valos para consulta ao banco a partir dos idiomas configurados
	'Esta primeira condição é quando apenas um idioma está configurado
	If InStr(checkIdioma,",") = 0 Then
		'Idiomas configurados na loja
		VetorIdi = varLang
		'Idioma a ser consultado
		VetorIdioma = VetorIdi
		If InStr(codigo_chave,",") = 0 Then
			'Código chave a ser consultado
			VetorCodigoChave = codigo_chave
		Else
			VetorCod = Split(codigo_chave, ",") 
		End if
		'Contador (array). O valor é definido pelo número de idiomas configurados, neste caso 1
		VetorCount = 0 
	'Quando vários idiomas estão configurados.		
	Else
		'Idiomas configurados na loja
		VetorIdi = Split(checkIdioma, ",") 
		'Codigos chave enviados nesta consulta
		VetorCod = Split(codigo_chave, ",") 
		'Contador (array). O valor é definido pelo número de idiomas configurados, neste caso 1
		VetorCount =  Ubound(VetorIdi) 
	End if
	   
	For I = 0 To VetorCount
	'Se VetorIdioma for vazio indica que a consulta se dará conforme o número de idiomas configurados. 
	If VetorIdioma = "" Then
		'Atribui o valor do idioma a ser consultado, conforme sua posição no array de VetorCount
		VetorIdioma = VetorIdi(I)
	End If

	If codigo_chave <> "" Then
		'Se VetorIdioma for vazio indica que a consulta se dará conforme o número de idiomas configurados. 
		If VetorCodigoChave = "" Then
			'Atribui o valor do codigo_chave a ser consultado, conforme sua posição no array de VetorCount
			VetorCodigoChave = VetorCod(I)
		End If
	End If

	'Cria o objeto de recordset para consulta ao banco
	Set RS_Produto = Server.CreateObject("ADODB.Recordset")
	RS_Produto.CursorLocation = 3
	RS_Produto.CursorType = 0
	RS_Produto.LockType = 3

	'Se a se acao_admin for alterar registro	
	If myFileUpload.Form("acao_admin") = "alterar registro" Then

	   'Se existir um codigo chave para este registro, indica que categoria está cadastrada com idioma da consulta
		If codigo_produto <> "" And Replace(VetorCodigoChave,",","") <> 0 Then
		RS_Produto.Open "SELECT codigo_chave, codigo_produto, codigo_categoria, codigo_subcategoria, codigo_marca, codigo_produto_loja, nome_produto, descricao_produto, autor, codigo_isbn, tamanhos, cores, genero, idade_ini, idade_fin, preco_base, preco_unitario, desconto, moeda, quantidade_produto, img_produtoPQN, img_produtoGRD, img_produto_adic01PQN, img_produto_adic01GRD, img_produto_adic02PQN, img_produto_adic02GRD, img_produto_adic03PQN, img_produto_adic03GRD, peso, destaque_vitrine, promocao, data_inicio, data_fim, disponivel, sigla_idioma FROM Produtos WHERE codigo_chave = " & Replace(VetorCodigoChave,",","") & " AND sigla_idioma = '"& Trim(VetorIdioma) &"'", Conexao 

		'Se não existir um codigo chave para este registro, indica que categoria não está cadastrada com idioma da consulta
		Else
			RS_Produto.Open "SELECT codigo_chave, codigo_produto, codigo_categoria, codigo_subcategoria, codigo_marca, codigo_produto_loja, nome_produto, descricao_produto, autor, codigo_isbn, tamanhos, cores, genero, idade_ini, idade_fin, preco_base, preco_unitario, desconto, moeda, quantidade_produto, img_produtoPQN, img_produtoGRD, img_produto_adic01PQN, img_produto_adic01GRD, img_produto_adic02PQN, img_produto_adic02GRD, img_produto_adic03PQN, img_produto_adic03GRD, peso, destaque_vitrine, promocao, data_inicio, data_fim, disponivel, sigla_idioma FROM Produtos WHERE sigla_idioma = '"& Trim(VetorIdioma) &"'", Conexao
			'Metodo que define a ação de novo registro
			RS_Produto.AddNew
			'Registra o codigo de categoria passado para este novo registro
			RS_Produto("codigo_produto") = request.querystring("codigo_produto")
		End If

	 'Se a se acao_admin for novo registro
	ElseIf myFileUpload.Form("acao_admin") = "novo registro" Then
		RS_Produto.Open "SELECT Produtos.* FROM Produtos", Conexao
		'Metodo que define a ação de novo registro
		RS_Produto.AddNew
		'Registra o novo codigo_produto
		RS_Produto("codigo_produto") = codigo_produto
	End if
		
   
		If InStr(myFileUpload.form("codigo_chave"),",") Then	
			VetorCodigo_chaveTemp = Split(myFileUpload.form("codigo_chave"),",")
			VetorCodigo_chave	  = VetorCodigo_chaveTemp(I)
		Else
			VetorCodigo_chave	  = myFileUpload.form("codigo_chave")
		End if
   
		   
		If  Not RS_Produto.Eof Then

			'Captura o valor das imagens 
			If img_produtoPQN = "" Then
				img_produtoPQN = RS_Produto("img_produtoPQN")
			End If
			If img_produtoGRD = "" Then
				img_produtoGRD = RS_Produto("img_produtoGRD")
			End If

			'O Bloco abaixo recurepa os valores das imagens se necessário
			'Se a imagem não for postada e a opção de excluir imagem não estiver checada o valor da imagem será o ja registrado no banco.
			If img_produto_adic01PQN = "" And img_produto_adic01PQN_apagada <> "sim" Then
				img_produto_adic01PQN = RS_Produto("img_produto_adic01PQN")
			End If
			If img_produto_adic01GRD = "" And img_produto_adic01GRD_apagada <> "sim" Then
				img_produto_adic01GRD = RS_Produto("img_produto_adic01GRD")
			End If
			If img_produto_adic02PQN = "" And img_produto_adic02PQN_apagada <> "sim" Then
				img_produto_adic02PQN = RS_Produto("img_produto_adic02PQN") 
			End If
			If img_produto_adic02GRD = "" And img_produto_adic02GRD_apagada <> "sim" Then
				img_produto_adic02GRD = RS_Produto("img_produto_adic02GRD")
			End If
			If img_produto_adic03PQN = "" And img_produto_adic03PQN_apagada <> "sim" Then
				img_produto_adic03PQN = RS_Produto("img_produto_adic03PQN")
			End If
			If img_produto_adic03GRD = "" And img_produto_adic03GRD_apagada <> "sim" Then
				img_produto_adic03GRD = RS_Produto("img_produto_adic03GRD") 
			End if

			'Insere o número do produto quando é um novo produto - Cadastro
			RS_Produto("codigo_produto") = codigo_produto

		End If
		
		'A condição abaixo serve para validar em qual idioma o produto será gravado
		If myFileUpload.form("nome_produto|"&Trim(VetorIdioma)) <> "" Then
			
			'O bloco abaixo grava os valores no banco de dados
			RS_Produto("nome_produto") = myFileUpload.form("nome_produto|"&Trim(VetorIdioma))
			RS_Produto("descricao_produto") = myFileUpload.form("descricao_produto|"&Trim(VetorIdioma))
			RS_Produto("codigo_categoria") = Codigo_categoria
			RS_Produto("codigo_subcategoria") = Codigo_subcategoria
			RS_Produto("codigo_marca") = codigo_marca
			RS_Produto("codigo_produto_loja") = codigo_produto_loja
			RS_Produto("codigo_isbn") = codigo_isbn
			If preco_unitario <> "" Then
				RS_Produto("preco_base") = preco_unitario
				RS_Produto("preco_unitario") = preco_unitario
			End if
			RS_Produto("quantidade_produto") = quantidade_produto
			RS_Produto("peso") = peso_produto

			RS_Produto("destaque_vitrine") = destaque_vitrine
			RS_Produto("promocao") = promocao
			RS_Produto("desconto") = desconto

			RS_Produto("data_inicio") = dataInicio
			RS_Produto("data_fim") = dataFim

			RS_Produto("disponivel") = disponivel

			'Se a imagem principal não for enviada e não existir registro de anterior, será registrada as imagens pequena e grande de produto não disponível
			If Isnull(img_produtoPQN) Then
				img_produtoPQN = "config/imagens_conteudo/produtos/imagensPQN/PQN_naodisponivel.gif"
			End If
			If Isnull(img_produtoGRD) Then 
				img_produtoGRD = "config/imagens_conteudo/produtos/imagensGRD/GRD_naodisponivel.gif"
			End If

			If img_produtoPQN <> "" Then
				RS_Produto("img_produtoPQN") = img_produtoPQN
			End if

			If img_produtoGRD <> "" Then
				RS_Produto("img_produtoGRD") = img_produtoGRD
			End If
			

			RS_Produto("img_produto_adic01PQN") = img_produto_adic01PQN
			RS_Produto("img_produto_adic01GRD") = img_produto_adic01GRD
			RS_Produto("img_produto_adic02PQN") = img_produto_adic02PQN
			RS_Produto("img_produto_adic02GRD") = img_produto_adic02GRD
			RS_Produto("img_produto_adic03PQN") = img_produto_adic03PQN
			RS_Produto("img_produto_adic03GRD") = img_produto_adic03GRD
			
			RS_Produto("cores") = cor
			RS_Produto("tamanhos") = tamanho
			RS_Produto("genero") = genero *
			RS_Produto("idade_ini") = idade_ini *
			RS_Produto("idade_fin") = idade_fin *
			RS_Produto("sigla_idioma") = Trim(VetorIdioma)

			RS_Produto.Update
		End if
	'Torna vazio a variáveis para reaproveitá-las nesta ação
	VetorIdioma = "" 
	VetorCodigoChave = ""
	Next

Set RS_Produto = Nothing

End If


If apagaresteproduto <> "" Then
	Conexao.Execute "DELETE FROM Produtos WHERE codigo_chave IN (" & apagaresteproduto &")"
End If

Set myfileupload = Nothing

Call Fecha_conexao()
%>
<html>
<body>
<form method="get" action="<%=actionForm%>" name="alteracao">
	<input type="hidden" name="codigo_produto" value="<%=codigo_produto%>">
	<input type="hidden" name="codigo_categoria" value="<%=codigo_categoria%>">
	<input type="hidden" name="msg_resultado" value="<%=msg_resultado%>">
</form>
<script LANGUAGE=javascript>
<!--
   document.alteracao.submit();
//-->
</SCRIPT>
</body>
</html>

Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Informa RS_Produto.CursorType = 1 e veja se resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia hargon.

 

fia a alteração que me aconcelhou, limpei o banco, refiz alguns cadastros mas permanece o mesmo problema na alteração de produtos. Estranho é que não são todos os produtos que retornam esse erro.

 

Tem como eu usar alguma outra forma para realizar esse update usando o sql normal UPDATE tabela SET??? meu asp não é muito bom. :(

 

se quiser da uma olhada no site é www.mycare.com.br/loja.

 

Mesmo assim muito obrigado pela dica.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia.

 

Depois de muita pesquisa e teste achei onde esta o problema, so não consegui resolver ainda mas ja sei por onde começar.

Deixarei aqui para analizarem:

 

Segundo um post no site do mysql http://bugs.mysql.com/bug.php?id=12524 diz que a problemas na gravação em campos float com casas decimais, o problema no meu casa esta no peso: quando cadastro produtos com peso inferior a 1 e com três casas decimais ele retorna o erro:

Microsoft Cursor Engine error '80040e38'

 

Row cannot be located for updating. Some values may have been changed since it was last read.

 

/loja/painelctrl/ADM_insereAltProduto.asp, line 587

 

Mas quando cadastro peso acima de 1 e contendo apenas duas casas decimais, ele altera normalmente.

 

Estou estudando uma solução...

 

Agradeço a todos que tentaram ajuda.

 

Um grande abraço. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde.

 

O problema foi finalmente solucionado, usei essa linha de comando para alterar o SQL, fiz os teste e funcionou perfeitamente.

 

If myFileUpload.Form("acao_admin") = "alterar registro" Then

Conexao.execute "UPDATE Produtos SET peso = '"& peso_produto &"' WHERE codigo_chave = " & Replace(VetorCodigoChave,",","") & " AND sigla_idioma = '"& Trim(VetorIdioma) &"'"

End If

 

Muito obrigado a todos.

 

Tudo de bom.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o problema não é com os campos FLOAT.

Estou com esse problema em um sistema em ASP + Mysql, esse erro ocorre apenas quando salvo um formulário sem mudar nenhum valor. Agora se eu trocar qualquer valor ou adicionar algo em algum campo e mandar salvar ai o erro nao ocorre...

 

alguem sabe como resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde.

 

O problema foi finalmente solucionado, usei essa linha de comando para alterar o SQL, fiz os teste e funcionou perfeitamente.

 

If myFileUpload.Form("acao_admin") = "alterar registro" Then

Conexao.execute "UPDATE Produtos SET peso = '"& peso_produto &"' WHERE codigo_chave = " & Replace(VetorCodigoChave,",","") & " AND sigla_idioma = '"& Trim(VetorIdioma) &"'"

End If

 

Muito obrigado a todos.

 

Tudo de bom.

 

Felipe, em que local você colocou esse código? Me ajuda por favor, estou com muita dificuldade para resolver esse erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Boa tarde.

 

O problema foi finalmente solucionado, usei essa linha de comando para alterar o SQL, fiz os teste e funcionou perfeitamente.

 

If myFileUpload.Form("acao_admin") = "alterar registro" Then

Conexao.execute "UPDATE Produtos SET peso = '"& peso_produto &"' WHERE codigo_chave = " & Replace(VetorCodigoChave,",","") & " AND sigla_idioma = '"& Trim(VetorIdioma) &"'"

End If

 

Muito obrigado a todos.

 

Tudo de bom.

 

Ele retirou do UPDATE os 2 campos FLOAT e colocou na linha de comparação se é alteração ou inserção...

 

Segue a linha:

    If myFileUpload.Form("acao_admin") = "alterar registro" Then

        'Se existir um codigo chave para este registro, indica que categoria está cadastrada com idioma da consulta
        If codigo_produto <> "" And Replace(VetorCodigoChave,",","") <> 0 Then
        RS_Produto.Open "SELECT codigo_chave, codigo_produto, codigo_departamento, codigo_categoria, codigo_subcategoria, codigo_marca, codigo_parceiro, codigo_produto_loja, codigo_produto_cross, nome_produto, descricao_produto, autor, codigo_isbn, tamanhos, cores, preco_base, preco_unitario, preco_comissao, preco_cross, desconto, moeda, quantidade_produto, img_produtoPQN, img_produtoGRD, img_produto_adic01PQN, img_produto_adic01GRD, img_produto_adic02PQN, img_produto_adic02GRD, img_produto_adic03PQN, img_produto_adic03GRD, peso, destaque_vitrine, promocao, data_inicio, data_fim, disponivel, sigla_idioma FROM Produtos WHERE codigo_chave = " & Replace(VetorCodigoChave,",","") & " AND sigla_idioma = '"& Trim(VetorIdioma) &"'", Conexao 
		qtde_old = RS_Produto("quantidade_produto") 

        'Se não existir um codigo chave para este registro, indica que categoria não está cadastrada com idioma da consulta
        Else
            RS_Produto.Open "SELECT codigo_chave, codigo_produto, codigo_departamento, codigo_categoria, codigo_subcategoria, codigo_marca, codigo_parceiro, codigo_produto_loja, codigo_produto_cross, nome_produto, descricao_produto, autor, codigo_isbn, tamanhos, cores, preco_base, preco_unitario, preco_comissao, preco_cross, desconto, moeda, quantidade_produto, img_produtoPQN, img_produtoGRD, img_produto_adic01PQN, img_produto_adic01GRD, img_produto_adic02PQN, img_produto_adic02GRD, img_produto_adic03PQN, img_produto_adic03GRD, peso, destaque_vitrine, promocao, data_inicio, data_fim, disponivel, sigla_idioma FROM Produtos WHERE sigla_idioma = '"& Trim(VetorIdioma) &"'", Conexao
            'Metodo que define a ação de novo registro
            RS_Produto.AddNew
            'Registra o codigo de categoria passado para este novo registro
            RS_Produto("codigo_produto") = request.querystring("codigo_produto")
        End If

     'Se a se acao_admin for novo registro
    ElseIf myFileUpload.Form("acao_admin") = "novo registro" Then
        RS_Produto.Open "SELECT Produtos.* FROM Produtos", Conexao

Felipe, em que local você colocou esse código? Me ajuda por favor, estou com muita dificuldade para resolver esse erro.

 

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.