Ir para conteúdo

POWERED BY:

Arquivado

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

luiscarlos5046

Instruções Update

Recommended Posts

Galera,

 

Estou com uma dúvida, pois estou tendo alguns problemas com a instrução UPDATE no Banco de Dados ACCESS.

 

Qual diferença entre esse update e o outro:

Set objRS_log = Server.CreateObject("ADODB.Recordset")	objRS_log.CursorLocation = 3	objRS_log.CursorType = 0	objRS_log.LockType = 2	objRS_log.Open ComandoSQL, objCon,,, &H0001	objRS_log.AddNew	objRS_log("administrador") = Session("te_admin_nome")	objRS_log("id_administrador") = Session("te_admin_id")	objRS_log("ip") = Request.ServerVariables("REMOTE_ADDR")	objRS_log("data_acesso") = Now()	objRS_log.Update	objRS_log.Close	Set objRS_log = Nothing	Set ComandoSQL = Nothing

O Update que estou usando:

strSQL = " "strSQL = strSQL & " UPDATE pedidos SET "strSQL = strSQL & "	data		= '"& data_da_compra &"', "strSQL = strSQL & " 	id_representantes	= '"& id_representante &"', "strSQL = strSQL & " 	valor		= '"& total_da_compra &"', "strSQL = strSQL & " 	status		= "& Sstatus &" "strSQL = strSQL & " WHERE "strSQL = strSQL & "	id 		= '"& id_do_pedido &"' "cn.execute(strSQL)

Com esse meu que estou usando ... eu já estou com o BD aberto no topo do arquivo... e no fim do arquivo eu fecho o BD.

** Estou tendo um erro "Tipo de dados imcompatível na expressão de critério."

 

Nessa instrução SQL que usei... Já conferi os campos.. Não consegui achar o problema..

 

*** Qual a diferença entre um e o outro ?? E para que circunstâncias poderão ser usados ?

 

Luis Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade o primeiro código está fazendo um Insert.

objRS_log.AddNew
No segundo, o erro que está retornando é porque provavelmente o id é um campo numérico, tente assim:

strSQL = " "strSQL = strSQL & " UPDATE pedidos SET "strSQL = strSQL & "	data		= '"& data_da_compra &"', "strSQL = strSQL & "	 id_representantes	= '"& id_representante &"', "strSQL = strSQL & "	 valor		= '"& total_da_compra &"', "strSQL = strSQL & "	 status		= "& Sstatus &" "strSQL = strSQL & " WHERE "strSQL = strSQL & "	id		 = "& id_do_pedido &" "cn.execute(strSQL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo anderson, na verdade o primeiro faz update também, a forma de escrita é diferente, primeiro abrimos um novo e depois executamos a ação, vejaobjRS_log.Update..........bom, a diferença "basica" está no desempenho. O primeiro é mais lento no processamento, porém mais pratico para escrever, não precisando cuidados com as aspas e normalmente utilizado por pessoas que estão iniciando pois não necessita conhecimento de instruções sql.o segundo o processamento é mais rápido, utilização de querys sql, tratamento do tipo de dados uzando aspas, possibilidades de unir várias tabelas e infinitos recursos que o sql permiteo erro de tipos incompativeis é poque você está tentando atualizar ou comparar campo da tabela de um tipo e está passando o valor de outro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos,Na verdade o erro estava sendo causado por essas NÃO VISTAS ASPAS " ... as aspas do fim da instrução sql...é o caso que o Jonathan disse... Cuidados com as aspas... como eu to fazendo vários trabalhos ao mesmo tempo...eu escrevo essas Querys manualmente quase todas as vezes e sempre escapa algumas ainda....Não sou profissional em ASP não... Por isso sempre recorro ao colegas aki do forum...Obrigado Jonathan e Anderson...Abraço a todos!

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.