Ir para conteúdo

POWERED BY:

Arquivado

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

gpassarelli

Update com Where...

Recommended Posts

Bom galera eh o seguinte...Eu to usando o seguinte codigo...

<%id = request("id")sql = "Update produtos SET modelo= '"&dados("Modelo")&"', "sql = sql & "receptor= '"&dados("Receptor")&"' "sql = sql & "WHERE id_produto= "&idObjConexaoAccess.Execute(sql)%>
Para fazer o update no Bd soh onde o id_produto for o request id...Soh q ele sempre dah esse erro:

Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)[Microsoft][Driver ODBC para Microsoft Access] Tipo de dados imcompatível na expressão de critério./excel/excel2.asp, line 13

Linha 13 = ObjConexaoAccess.Execute(sql)Sera que tinha como alguem me ajudar a resolver esse problema?Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim:

 

<%id = request("id")sql = "Update produtos SET modelo= '"&dados("Modelo")&"', "sql = sql & "receptor= '"&dados("Receptor")&"' "sql = sql & "WHERE id_produto= "&idresponse.write sql'ObjConexaoAccess.Execute(sql)response.end%>
Copie e poste o resultado.

 

Provavelmente uma de suas variáveis está vindo em branco. Se não for isso, algum campo texto você tá passando como inteiro ou vice-versa.

Pelo q percebi na sua string, você já sabe a diferença, mas de repente pode ter comido bola.

 

numero passa com aspas (") e texto com apóstrofo (') -> famoso aspas simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%id = request("id")sql = "Update produtos SET modelo= '"&dados("Modelo")&"', "sql = sql & "receptor= '"&dados("Receptor")&"' "sql = sql & "WHERE id_produto= "&idresponse.write sql : response.endObjConexaoAccess.Execute(sql)%>coloka esse codigo acima, e posta ae pra "nois ve" qual é a query q ta montando....flwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera...Malz pela demora ae...Mais ae...o resultando q deu...foi isso aqui

Update produtos SET modelo= 'eTrex Legend', receptor= '31' WHERE id_produto= 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala cara beleza?

Tente assim:

<%id = request("id")sql = "Update produtos SET modelo= '"&dados("Modelo")&"', "sql = sql & "receptor= "&dados("Receptor")&" "sql = sql & "WHERE id_produto= "&idObjConexaoAccess.Execute(sql)%>

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Shumi...Ele deu esse erro agora oh

Tipo de erro:(0x80020009)Exceção. /excel/excel2.asp, line 10

Linha 10 = sql = "Update produtos SET modelo= '"&dados("Modelo")&"', "

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara faz sem concatenar, só para fazer um teste do que você precisa!

Assim:

<%id = request("id")sql = "Update produtos SET modelo='"&dados("Modelo")&"',receptor="&dados("Receptor")&" WHERE id_produto="&idObjConexaoAccess.Execute(sql)%>

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Shumi...continua dando o mesmo erro...

Vou postar o codigo inteiro...

Ae quem sabe ajuda...

OBS: O codigo eh pra pegar os dados de uma planilha no excel...e passar pro bd access...

<%Set ObjConexaoExcel = Server.CreateObject("ADODB.Connection") ObjConexaoExcel.Open "Driver={Microsoft Excel Driver (*.xls)};DriverId=790; DBQ=" & Server.MapPath("teste.xls")&";"Set ObjConexaoAccess = Server.CreateObject("ADODB.Connection") ObjConexaoAccess.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("teste.mdb")&";"id = request("id")set dados = ObjConexaoExcel.Execute("SELECT * FROM [produtos$] WHERE [ID Produto]="&id)sql = "Update produtos SET modelo='"&dados("Modelo")&"',receptor="&dados("Receptor")&" WHERE id_produto="&idObjConexaoAccess.Execute(sql)%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

A 1ª linha desse arquivo excel contém esses "nomes de campo"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem sim....Tanto q eh pra fazer o INSERT funciona...mais pro update nao tah indo...E se eu tirar o WHERE id_produto="&id ele atualiza normal...soh q ele atualiza todos os dados do BD...com os dados do dado q ele pegou no SELECT * FROM [produtos$] WHERE [iD Produto]="&id)Tendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu campo id deve estar como texto...Altera="&idpara= '"&id&"'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara verifique os campos que formato que está!Quando é string você usa '"&var&"'Quando é númerico você usa "&var&"Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estamos aki para ajudar e "sermos ajudados" :Dvocê entendeu o pq do erro?Uma dica:Qdo o campo é id, geralmente usamos o tipo numérico. Até mesmo para ele ser incrementado de forma mais fácil.Dessa forma, você já teria evitado esse problema de sintaxe.Se precisar, poste.

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.