Ir para conteúdo
ukow

Erro de UPDATE "Tipos incompatíveis"

Recommended Posts

Olá!

Estou fazendo um teste para atualizar uma informação em um dos meus itens do banco de dados; porém houve um erro e não consigo decifra-lo. "Tipos incompatíveis"

 

Busco as informações no banco:

 

<%Dim caminho, conexao, rsProduto, seleciona%>
<%
caminho = "D:\web\LocalUser\divinho\banco\db.mdb"
Set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&caminho&";"
%>
<%
Set rsProduto = Server.CreateObject("ADODB.Recordset")
seleciona = "SELECT * from Produtos where Cod_produto = "& request("cod")
rsProduto.Open seleciona, conexao
Dim cod
cod = request("cod")
%>
<FORM name="frmPrincipal" method="post" id="frmPrincipal" action="teste.asp?cod=<%=cod%>">
<input type=text name=codigo value="<%=rsProduto("Cod_produto")%>">
<input type=text name=nome value="<%=rsProduto("Nome")%>">
<input type="Submit" value="Enviar ">
</form>
Realizando o UPDATE
<%Dim caminho, conexao%>
<%
caminho = "D:\web\LocalUser\divinho\banco\db.mdb"
Set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&caminho&";"
%>
<%
Dim sql, nome, cod, executecmd
nome = request.form("nome")
cod = request.form("codigo")
sql = "update Produtos set "
sql = sql & " Nome = '" & nome & "'"
sql = sql & " where Cod_produto = " & cod
call executecmd(sql)
Response.Redirect "teste2.asp"
%>

Podem testar através do link: http://divinho.com.br/teste2.asp?cod=344

 

Agradeço se alguém puder ajudar!

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde. 

Amigos, sou novo no forum. 

Estou com o seguinte problema e precisando de ajuda, se postei a duvida em local errado, me desculpa. 

 

Segue erro:

Erro de tempo de execução do Microsoft VBScript erro '800a000d'

Tipos incompatíveis: '[string: "P"]'

/wireless/sacarF.asp, linha 202

 

imagem: image.png.475c9663b05d6e2d05abf9d7b63527cb.png

 

Deveria montar a tela a seguir, circulado em preto:

image.png.5295ed5aa16111ceff773ad4eb97e93b.png

 

segue codigo fonte abaixo:

 

set rs3 = server.createobject("ADODB.Recordset")
    if left(session("ref"),1)="8" or left(session("ref"),1)="9"  or left(session("ref"),1)="6" then
    '    rs3.open "select requested as requested1,sacado=(select sum(picked) from shpdet a where refdoc1='" & trim(session("doc")) & "' and a.itemnumber='" & trim(session("ref")) & "'),boxes=(select count(*) from shpdet b where refdoc1='" & trim(session("doc")) & "' and b.itemnumber='" & trim(session("ref")) & "') from shphdr where refdoc1='" & trim(session("doc")) & "' and itemnumber='" & trim(session("ref")) & "'",seguridad,VaradOpenKeyset,VaradLockOptimistic
        rs3.open "select sum(requested) as requested1,sum(picked) as sacado,count(*) as contador,sum(boxes) as boxes from shphdr where refdoc1='" & trim(session("doc")) & "' and itemnumber='" & trim(session("ref")) & "'",seguridad,VaradOpenKeyset,VaradLockOptimistic
            
    else
        rs3.open "select sum(requested) as requested1,sum(picked) as sacado,count(*) as contador,sum(boxes) as boxes from shphdr where refdoc1='" & trim(session("doc")) & "' and itemnumber='" & trim(session("ref")) & "'",seguridad,VaradOpenKeyset,VaradLockOptimistic
    end if
    if cdbl(rs3("contador")) > 0 then
        pedido=rs3("requested1")
        if cdbl(cxb)>0 then
            bultosT = cdbl(rs3("requested1"))/cdbl(cxb)
        end if
        sacado=cdbl(rs3("sacado"))
        bultosS=cdbl(rs3("boxes"))
        bultosD=(cdbl(bultosT)-cdbl(bultosS))
        sacadoD = (cdbl(pedido)-cdbl(sacado))
        set rs3 = nothing
    end if 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por MAKAVELIQUE
      Pessoal, imaginem a seguinte situação: o usuário A clica no botão enviar no mesmo instante que o usuário B, caso a ação do sql seja um comando update no mesmo campo, id=7 por exemplo e isso acontecer exatamente no mesmo instante, ocorre perca de dados? 
      <?php $update = "UPDATE br_gang SET i='$i', data= NOW() WHERE id='$id'"; $query = mysqli_query($update, $conn) or die (mysqli_error($conn)); if($update==true){ echo "<script>alert ('DADOS SALVOS COM SUCESSO, BOA SORTE!');</script>"; } ?> Se isso acontecer e ocorrer perca de dados, qual o procedimento possível para resolver o problema?
    • Por PlatBubbles
      Ola, estou tendo dificuldade para fazer uma consulta seletiva usando duas tabelas, provavelmente estou errando a sintaxe da busca, agradeço caso alguem possa me passar a forma correta de fazer a busca.
       
      $sqluser = "SELECT aquestion_id, user_id FROM respostas WHERE user_id like '$logado' UNION SELECT * pergunta, question_id FROM questions WHERE question_id!=aquestion_id ORDER BY RAND() LIMIT 1"; Explicando
      Na tabela respostas preciso dos dados aquestion_id e user_id apenas do usuário Logado.
      Da tabela questions preciso da pergunta e da question_id que deve ser gerada de forma aleatória mas apenas com os Ids que não estejam  listados em aquestion_id.
      Na verdade as duas tabelas tinham o campo question_id porem estava confuso e por isso mudei o campo da primeira tabela para aquestion_id.
       
      Agradeço qualquer ajuda, e também pelo tempo dos que leram mesmo se não puderam ajudar.
      PlatBubbles
    • Por DaniellyNelly
      Olá amigos, 
      Preciso muito da ajuda de vocês, sou nova tanto aqui quanto nessa área e preciso de uma luz pra resolver esse pequeno probleminha.
      O código a seguir esta me dando este seguinte erro: 
      erro '80020009'
      /smart/bridge/carne.asp, linha 106
      Código:
       
      <%
          dim rsLancamento
          sql = "select * from vw_lancamento where id_parceiro="&request("id_parceiro")&" and tp_lancamento=1 and id_situacao_lancamento=1 order by dt_vencimento asc"
          set rsLancamento = GetRS(sql)
          
          dim rsParceiro
          sql = "select * from parceiro where id_parceiro="&request("id_parceiro")
          set rsParceiro = GetRS(sql)
          
          dim rsMatricula
          sql = "select * from matricula where id_aluno="&request("id_parceiro")
          set rsMatricula = GetRS(sql)
          
          dim rsCurso
          sql = "select * from curso where id_curso="&rsMatricula("id_curso")
          set rsCurso = GetRS(sql)
          
          %>
      </head>
      <body>
      <div style="width:80%; margin-left:10%;"><!--#include file = "topofixo.asp" --></div>
      <div id="CARNE">
      <div id="print" align="center"><input type="button" name="imprimir" value="Imprimir" onClick="window.print();"></div>
      <div id="printable">
          <DIV ID="TOPO">
          
          <p>ALUNO: <%= rsParceiro("nome")%></p>
          <p>CPF: <%= rsParceiro("CPF")%></p>
          <p>ENDERE&Ccedil;O: <%= rsParceiro("endereco")%> </p>
          <p>BAIRRO: <%= rsParceiro("bairro")%> </p>
          <p>CURSO: <%= rsCurso("ds_curso")%></p>
          <p>ANO: <%=year(now)%></p>
          
          </DIV>
          
          <%if rsLancamento.eof then%>
          
          <p align="center">SEM LANÇAMENTOS CADASTRADOS</p>
          
          <%else%>
        <%dim cont%>
          <%do while not rsLancamento.eof%>
        <%cont = cont + 1%>
        <div id="c_1" style="BORDER-LEFT:dotted 1px #000;">
        
        <p style="float:left; margin:0;">RECIBO DO CLIENTE</p>
        
        <p align="center" CLASS="PARCELA"><%=cont%></p>
        
        <p class="c_t">CLIENTE: <%= rsParceiro("respfinan")%></p>
        <p class="c_t">VENCIMENTO: <%=rsLancamento("dt_vencimento")%></p>
        <p class="c_t">VALOR A PAGAR: R$<%=formatnumber(rsLancamento("vr_curso"),2)%></p>
        <p class="c_t">VALOR PAGO: </p>
        <p class="c_t">AUTENTICA&Ccedil;&Atilde;O: <%=rsLancamento("id_lancamento")%></p>
          
          </div>
            <div id="c_1">
        
        <p style="float:left; margin:0;">&nbsp;</p>
        
        <p align="center" CLASS="PARCELA"><%=cont%></p>
        
        <p class="c_t">CLIENTE: <%= rsParceiro("respfinan")%></p>
        <p class="c_t">VENCIMENTO: <%=rsLancamento("dt_vencimento")%></p>
        <p class="c_t">VALOR A PAGAR: R$<%=formatnumber(rsLancamento("vr_curso"),2)%></p>
        <p class="c_t">VALOR PAGO: </p>
        <p class="c_t">AUTENTICA&Ccedil;&Atilde;O: <%=rsLancamento("id_lancamento")%></p>
          
          </div>
          <%rsLancamento.movenext 
          loop%>   <%end if%></div>
       
      Se alguém puder ajudar ficarei eternamente grata.
    • Por rogfranz
      Olá pessoal! Então, estou desenvolvendo um projeto que pode tomar grandes proporções, e estou com uma dúvida que está me tirando o sono!

      Digamos que trata-se de um sistema de pedidos só pra usar como exemplo.

      Vários usuários vão poder se cadastrar no sistema e criar seus pedidos.

      Teremos então as tabelas

      usuarios
      pedidos
      pedido_itens
       
       
      minha dúvida está na seguinte questão.
      Uso bancos de dados separados para cada cliente ?  
      ou
      Uma tabela por exemplo dos pedidos vinculo o id do usuário para todos usuários do sistema ?

      POR FAVOR! Me Deem a opinião do que vocês fariam! e Por que!

      Trazendo para a realidade do meu projeto uma estimativa de volume de dados que eu imagino.
      Levando em conta que um usuário pode cadastrar a média de 10 "pedidos" no mês com aproximadamente 500 ítens

      Agradeço muito a contribuição de vocês!
    • Por LuanMartinsTI
      Tenho o seguinte problema, eu preciso dar um select em duas tabelas, ou ter dois selects tanto faz, eu fiz com inner join e com union all mas nao consigo ter o resultado que eu desejo
      O problema é o seguinte> Pra saber quantos usuarios eu tenho em cada grupo eu preciso dar um select na membros grupo com o id do grupo, mas eu preciso mostrar apenas os 5 primeiros grupos com mais gente, eu nao tenho na tabela falando grupo 1 tem 50 membros, eu tenho 50 linhas com grupo 1 e id do usuario, como eu transformo isso no que eu quero? a unica forma q eu pensei é criar um campo novo em grupos e colocar la o resultado de rowCount, mas gostaria de saber se é possivel fazer sem, eu ja consigo mostrar quantos usuarios cada grupo tem, eu nao consigo mostrar é em ordem e nao é so dar o asc o problema é na logica provavelmente, mas se for possivel resolver isso com uma unica query ficarei grato
      tabela 1
      grupos( id nome dono created stat ) tabela 2
      membros_grupo( id grupo_id user_id )  
      PHP
      public function ultimosGrupos($limite){ try { $query = "SELECT * FROM groups ORDER BY id ASC LIMIT :limite"; $this->Select = $this->Conn->prepare($query); $this->Select->bindParam(':limite' , $limite, PDO::PARAM_INT); $this->Select->execute(); if($this->Select->rowCount() > 0){ return $this->Select->fetchAll(PDO::FETCH_ASSOC); }else{ return FALSE; } } catch (PDOException $exc) { exibeMensagens("Erro ao consultar. {$exc->getMessage()}", WS_ERROR); } } public function users_por_grupo($id){ try { $query = "SELECT * FROM group_memberships WHERE group_id = :id"; $this->Select = $this->Conn->prepare($query); $this->Select->bindParam(':id' , $id, PDO::PARAM_INT); $this->Select->execute(); return $this->Select->rowCount(); } catch (PDOException $exc) { exibeMensagens("Erro ao consultar. {$exc->getMessage()}", WS_ERROR); } }  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.