Ir para conteúdo

Arquivado

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

marvazoler

update com select

Recommended Posts

Olá camaradas beleza?

 

Seguinte:

 

Fiz um filtro para uma tela simples, essa tela que está filtrada, eu tenho que dar um update

nela, moleza também.

O problema é:

 

Quando eu disparo o update eu tenho que voltar para a tela filtrada com os filtros novamente para q os dados que alterei venha alterado.

Minha escrita é:

 

<%Dim oConn Dim oRs Dim filePathDim varlinhaDim vartrajetoDim vardiaDim varcodigoDim varcentroDim varbairrofilePath = Server.MapPath("banco\joana_darc.mdb")Set oConn = Server.CreateObject("ADODB.Connection")oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePathSet oRs = Server.CreateObject("ADODB.Recordset")varlinha = request.Form("linha")vartrajeto = request.Form("trajeto")vardia = request.Form("dia")varcodigo = request.Form("codigo")varcentro = request.Form("centro")varbairro = request.Form("bairro")set oRs = oConn.Execute("UPDATE HORARIO SET CENTRO = '"&varcentro&"', BAIRRO = '"&varbairro&"' where codigo = "&varcodigo&" in exists(SELECT * From HORARIO where COD_LINHA = "&varlinha&" AND trajeto = "&vartrajeto&" AND cod_dia = "&vardia&"))")Response.Redirect("alterar_horario_asp.asp")%>

O erro é:

 

Microsoft JET Database Engine erro '80040e14'

 

Operador In sem () na expressão de consulta 'codigo = 1001 in exists(SELECT * From HORARIO where COD_LINHA = AND trajeto = AND cod_dia = ))'.

 

/alterar_horario_res.asp, line 29

 

 

O q pode ser?

 

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual base você usa?

 

Se for SQL Server, tira o exists q está após o In...

 

Aliás, você está fazendo um "=" seguido de um In, você tem q usar um operador ou outro!

 

OK..!!?? T+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe a pergunta, mas porque você faz o UPDATE na tabela HORARIO passando a condicional no WHERE e depois faz o SELECT na mesma tabela(HORARIO) usando outro WHERE pra depois fazer um REDIRECT?

Desculpe, mas eu não vi lógica pra isso, pelo que fizeste seria mais convincente:

 

set oRs = oConn.Execute("UPDATE HORARIO SET CENTRO = '"&varcentro&"', BAIRRO = '"&varbairro&"' where codigo = "&varcodigo&" AND COD_LINHA = "&varlinha&" AND trajeto = "&vartrajeto&" AND cod_dia = "&vardia&"")
Porém se você fizer o WHERE apenas com a chave primária torna-se desnecessário fazer o AND

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara...valeu o reconhecimento, sempre bom saber quando a gente está ajudando.Mas seguinte, entendo essa sua gratidão como o "problema" resolvido...correto ou ainda tá dando pau nesse Sql?

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.