Jump to content


Photo

Comparar Variaveis, Ainda Não Resolvi


  • Faça o login para participar
7 replies to this topic

#1 chipis

chipis

    24 Horas

  • Usuários
  • 439 posts
  • Sexo:Masculino
  • Localidade:Blumenau - SC

Posted 13/11/2007, 09:49

Olá gente.

É o seguinte tenho que fazer uma alteração de um arquivo em ASP,
ja vou dizendo que não manjo nda de asp.
segue parte do script onde eu tenho que fazer isso:
linha = objFile.ReadLine
			str_cd_carga			=	trim(replace(Mid(linha, 1, 6),"'","''"))
			str_dt_carga			=	trim(replace(Mid(linha, 7, 10),"'","''"))
			str_nr_hora_entrada		=	trim(replace(Mid(linha, 17, 2),"'","''"))
			str_nr_minuto_entrada	=	trim(replace(Mid(linha, 19, 2),"'","''"))
			str_nr_hora_saida		=	trim(replace(Mid(linha, 21, 2),"'","''"))
			str_nr_minuto_saida		=	trim(replace(Mid(linha, 23, 2),"'","''"))
			str_cd_residuo			=	trim(replace(Mid(linha, 25, 6),"'","''"))
			str_cd_cliente			=	trim(replace(Mid(linha, 31, 6),"'","''"))
			str_cd_unidade_cliente	=	trim(replace(Mid(linha, 37, 6),"'","''"))
			str_dt_vigencia			=	trim(replace(Mid(linha, 43, 10),"'","''"))
			str_qt_residuo			=	trim(replace(Mid(linha, 53, 10),"'","''"))
			str_vl_residuo			=	trim(replace(Mid(linha, 63, 10),"'","''"))
			str_vl_fundacao			=	trim(replace(Mid(linha, 73, 10),"'","''"))
			str_tx_fundacao			=	trim(replace(Mid(linha, 83, 8),"'","''"))
			str_ds_placa_veiculo	=	trim(replace(Mid(linha, 91, 8),"'","''"))

			if isNumeric(str_cd_carga) then
				SQL = "Select * from cargas"
				SQL = SQL & " where CD_CARGA = " & CLng(str_cd_carga)
				SQL = SQL & " and CD_CLIENTE = " & CInt(str_cd_cliente)
				SQL = SQL & " and CD_UNIDADE_CLIENTE = " & CInt(str_cd_unidade_cliente)
				set registro = conexao.execute(SQL)
				
				if registro.EOF then
					SQL = "Insert into cargas"
					SQL = SQL & " (CD_CARGA, DT_CARGA, NR_HORA_ENTRADA, NR_MINUTO_ENTRADA, NR_HORA_SAIDA, NR_MINUTO_SAIDA, CD_RESIDUO, CD_CLIENTE, CD_UNIDADE_CLIENTE, DT_VIGENCIA, QT_RESIDUO, VL_RESIDUO, VL_FUNDACAO, TX_FUNDACAO, DS_PLACA_VEICULO)"
					SQL = SQL & " values ("& CLng(str_cd_carga) &",'"& CDate(str_dt_carga) &"',"& str_nr_hora_entrada &","& str_nr_minuto_entrada &","& str_nr_hora_saida &","& str_nr_minuto_saida &","& str_cd_residuo &","& CLng(str_cd_cliente) &","& CLng(str_cd_unidade_cliente) &",'"& CDate(str_dt_vigencia) &"',"& str_qt_residuo &","& str_vl_residuo &","& str_vl_fundacao &","& str_tx_fundacao &",'"& str_ds_placa_veiculo &"')"
					conexao.execute(SQL)
					nr_inseridos = nr_inseridos + 1
				else
					SQL = "Update cargas set"
					SQL = SQL & " DT_CARGA = '"& CDate(str_dt_carga) &"',"
					SQL = SQL & " NR_HORA_ENTRADA = "& str_nr_hora_entrada &","
					SQL = SQL & " NR_MINUTO_ENTRADA = "& str_nr_minuto_entrada &","
					SQL = SQL & " NR_HORA_SAIDA = "& str_nr_hora_saida &","
					SQL = SQL & " NR_MINUTO_SAIDA = "& str_nr_minuto_saida &","
					SQL = SQL & " CD_RESIDUO = "& str_cd_residuo &","
					SQL = SQL & " CD_CLIENTE = "& str_cd_cliente &","
					SQL = SQL & " CD_UNIDADE_CLIENTE = "& str_cd_unidade_cliente &","
					SQL = SQL & " DT_VIGENCIA = '"& CDate(str_dt_vigencia) &"',"
					SQL = SQL & " QT_RESIDUO = "& str_qt_residuo &","
					SQL = SQL & " VL_RESIDUO = "& str_vl_residuo &","
					SQL = SQL & " VL_FUNDACAO = "& str_vl_fundacao &","
					SQL = SQL & " TX_FUNDACAO = "& str_tx_fundacao &","
					SQL = SQL & " DS_PLACA_VEICULO = '"& str_ds_placa_veiculo &"'"
					SQL = SQL & " where CD_CARGA = " & CLng(str_cd_carga)
					SQL = SQL & " and CD_CLIENTE = " & CInt(str_cd_cliente)
					SQL = SQL & " and CD_UNIDADE_CLIENTE = " & CInt(str_cd_unidade_cliente)
					conexao.execute(SQL)
					nr_alterados = nr_alterados + 1
				end if
				
			end if
tipo eu tenho que comparar str_cd_carga e str_cd_unidade_cliente com CLng(str_cd_carga) e CInt(str_cd_unidade_cliente), só explicando melhor se:
str_cd_carga for = CLng(str_cd_carga) e str_cd_unidade_cliente for = 0 e CInt(str_cd_unidade_cliente) for tbem = 0.
ai eu tenho que excluir esse dados do banco.
Não sei se fui claro..
Qualquer ajuda é bem vinda.

flws...

Edição feita por: chipis, 23/11/2007, 10:54.


#2 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 13/11/2007, 20:26

if str_cd_carga = CLng(str_cd_carga) AND str_cd_unidade_cliente = 0 AND CInt(str_cd_unidade_cliente) = 0 then
'aqui entra o codigo sql para deletar
end if

É isso? :huh:
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#3 chipis

chipis

    24 Horas

  • Usuários
  • 439 posts
  • Sexo:Masculino
  • Localidade:Blumenau - SC

Posted 20/11/2007, 17:32

Ainda não funcou.
O problema é que existem dados duplicados no banco.
Preciso fazer deletar os dados duplicados e ai incluir os novos .
Isso tudo durante a importação de dados.
Tenho um arquivo txt assim:

12303301/10/20071738175400005000124900000017/07/200700000219500000131700000000241500000110AJI-5152

Os 6 primeiros digitos são referente a chave que eu tenho que comparar, tipo se ela exitir no banco: o registro tem que ser apagado e depois incluido o que esta no txt.

#4 leanjo

leanjo

    Doutor

  • Usuários
  • 912 posts
  • Sexo:Não informado
  • Interesses:...

Posted 20/11/2007, 21:37

explica melhor o funcionamento do sistema
[]s

#5 chipis

chipis

    24 Horas

  • Usuários
  • 439 posts
  • Sexo:Masculino
  • Localidade:Blumenau - SC

Posted 21/11/2007, 14:13

Gente o problema acima eu consegui resolver.
Agora esta dando esses erros:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

/adm/cargas/import.asp, line 11

e este:

ADODB.Recordset (0x800A0CC1)
O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado.
/momento_ambiental/site/restrito/movimentacao.asp, line 73

alguen sabe me dizer o que é.?

flws..

Edição feita por: chipis, 21/11/2007, 14:14.


#6 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 22/11/2007, 23:03

Primeiro erro é permisssao de gavação no seu banco de dados e o segundo com certeza é voce estar fazendo comparações entre textop e numero, verifique os tipos dos dados.

[']s
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)

#7 chipis

chipis

    24 Horas

  • Usuários
  • 439 posts
  • Sexo:Masculino
  • Localidade:Blumenau - SC

Posted 23/11/2007, 09:08

Gente ainda não consegui resolver o segundo erro, segue o sql onde faz a comparação,
se alguem puder dar uma olhada e me dizer o que tem errado, fico agradecido:
SQL = "Select c.CD_CARGA, c.DT_CARGA, c.NR_HORA_ENTRADA, c.NR_MINUTO_ENTRADA, c.NR_HORA_SAIDA, c.NR_MINUTO_SAIDA, c.CD_RESIDUO, c.CD_CLIENTE, c.CD_UNIDADE_CLIENTE, c.QT_RESIDUO, c.DS_PLACA_VEICULO,"
	SQL = SQL & " cli.CD_CLIENTE, cli.NM_CLIENTE,"
	SQL = SQL & " r.CD_RESIDUO, r.NM_RESIDUO"
	SQL = SQL & " from cargas c, clientes cli, residuos r"
	SQL = SQL & " where c.CD_CLIENTE = cli.CD_CLIENTE"
	SQL = SQL & " and c.CD_RESIDUO = r.CD_RESIDUO"
	SQL = SQL & " and c.CD_CLIENTE = " & cd_cliente
	SQL = SQL & " and c.DT_CARGA >= #"& data_to_sql(data_ini) &"#"
	SQL = SQL & " and c.DT_CARGA <= #"& data_to_sql(data_fim) &"#"
	SQL = SQL & " order by r.CD_RESIDUO, c.CD_CARGA"
os campos: CD_CLIENTE e CD_RESIDUO no db estão como Interio longo.

flws...

Edição feita por: chipis, 23/11/2007, 10:14.


#8 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 13/09/2017, 18:26

Priligy Donde Comprar cialis Levitra Wofur Amoxicillin And Cats And Lathargic Sale Isotretinoin Low Price Amoxicillin Patient Insert Viagra 100mg Filmtabletten Apotheke cialis buy online Antibiotics Fast Delivery To Uk
Cleocin buy cialis Sulfasalazine Can You Buy Flagyl Over The Counter Purchase Discount Isotretinoin cialis Viagra Levitra And Cialis




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq