Jump to content
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

Share this post


Link to post
Share on other 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 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By johnklo
      COM BASE NA TABELA HR DO ORACLE
      Preciso criar uma sub-rotina (procedure) que imprima na tela o número de funcionários (employees) agrupados por departamentos (department_id). Deve-se ordenar a saída em ordem decrescente pela quantidade de departamentos. Pode-se utilizar qualquer forma de cursor para imprimir o resultado.
    • By c3s1nha
      Boa tarde,
       
      Preciso restaurar a estrutura de um banco de dados (tabelas,views,procedures.. etc) em outro banco de dados que esta vazio (nao tem tabela nenhuma, banco novo), utilizo o sql server. Consigo fazer utilizando o SSMS ?
       
      Para entender melhor estou enviando uma imagem.
       
       
      O banco com todas tabelas,viwes,procedures, registros, etc..  é o Guara_ que esta no servidor   .\SQLEXPRESS   quero fazer uma copia identica dele no banco Nutri no servidor sdb.hsi.
       
      Desde ja agradeço. 

    • By alanbr00
      Olá,
       
      estou tendo dificuldade na instalação, nunca vi esse erro. Estou pensando seriamente em formatar.
       
      Esse é o log.
       
       


    • By PierreMoraes
      Olá a todos sou novo no grupo porem ja peguei muita solução aqui no forum.
      Gostaria da ajude devocês pois estou com uma dificuldade em meu site. Tenho um painel ADMININSTRATIVO em meu site e tenho aceso a visão de algumas coisas dos usuarios como quantidade de logins, nivel de acesso, nome, sobrenome, email e outras coisas refetente ao conteúdo do site.
      Ai vem minha dúvida preciso pegar o IP dos usuarios no meu banco de dados e sim ja tenho essa função, porem ele fica misturado com de todos outros, montei o mesmo para visualização dos ultimos 8 aceessos com data assim:
       
      <tbody> <?php $qnt_result_pg = 8; $stmtt=$bdd->prepare("SELECT * FROM vanguard_singin WHERE name_user=? ORDER BY id desc LIMIT $qnt_result_pg"); $stmtt->execute(array($_SESSION['vg_usern'])); while($rowip=$stmtt->fetch(PDO::FETCH_ASSOC)) { ?> <tr> <td><?php echo $rowip['ip']; ?></td> <?php $source = $rowip['dt_log']; $date = new DateTime($source); ?> <td><?php echo $date->format('d/m/Y G:y'); ?></td> </tr> <?php } ?> </tbody> e funciona perfeito porem preciso implementar essa função no meu painel, lembrando que esse código acima ele serve apenas para o proprio usuario visualizar.
       
      ESSE É DO PAINEL
      <tbody> <?php $query = "SELECT * FROM vanguard_users"; $stmt = $bdd->prepare( $query ); $stmt->execute(); while($row_usuario=$stmt->fetch(PDO::FETCH_ASSOC)) { $result_items2 = $bdd->query('SELECT count(1) FROM vanguard_items WHERE author="' .$row_usuario['usern']. '"'); $row_items2 = $result_items2->fetch(); $total_items2 = $row_items2[0]; $result_follow = $bdd->query("SELECT count(1) FROM vanguard_follow WHERE id_following = {$row_usuario['id']}"); $row_follow = $result_follow->fetch(); $total_follow = $row_follow[0]; $result_follower = $bdd->query("SELECT count(1) FROM vanguard_follow WHERE id_follower = {$row_usuario['id']}"); $row_follower = $result_follower->fetch(); $total_follower = $row_follower[0]; extract($row_usuario); $name_user = $row_usuario['usern']; $result_ip = $bdd->prepare('SELECT COUNT(ip) FROM vanguard_singin WHERE name_user = "' .$row_usuario['usern']. '"'); $result_ip->execute(array($name_user)); $result_ip = $result_ip->fetchColumn(); ?> <tr class="odd gradeX"> <td width="1%" class="f-s-600 text-white-transparent-8"> <?php echo $row_usuario['id']; ?> </td><!-- ID --> <td width="1%" class="with-img"> <img src="<?= $url; ?>static/img/avatars/<?php echo $row_usuario['avatar']; ?>" class="img-rounded height-30" /> </td><!-- PHOTO --> <td> <?php echo $row_usuario['usern']; ?> </td><!-- USERNAME --> <td> <?php echo $row_usuario['lname']; ?> </td><!-- NOME --> <td> <?php echo $row_usuario['fname']; ?> </td><!-- SOBRENOME --> <td> <?php if ($row_usuario['role'] == "1") { echo '<h5 class="text1">'.$lang['CLASS_01'].'<h5>'; } elseif ($row_usuario['role'] == "2") { echo '<h5 class="text2">'.$lang['CLASS_02'].'<h5>'; } elseif ($row_usuario['role'] == "3") { echo '<h5 class="text3">'.$lang['CLASS_03'].'<h5>'; } elseif ($row_usuario['role'] == "4") { echo '<h5 class="text4">'.$lang['CLASS_04'].'<h5>'; } elseif ($row_usuario['role'] == "5") { echo '<h5 class="text5">'.$lang['CLASS_05'].'<h5>'; } elseif ($row_usuario['role'] == "6") { echo '<h5 class="text6">'.$lang['CLASS_06'].'<h5>'; } elseif ($row_usuario['role'] == "7") { echo '<h5 class="text7">'.$lang['CLASS_07'].'<h5>'; } else { echo '<h5 class="">'.$lang['CLASS_00'].'<h5>'; }; ?> </td><!-- NIVEL DE ACESSO --> <td> <?php echo $row_usuario['created']; ?> </td><!-- DATA DE CRIAÇÃO --> <td> <?php echo $row_usuario['email']; ?> </td><!-- EMAIL --> <td> <?php echo $row_usuario['quotas']; ?> </td><!-- QUOTA DE POSTS --> <td> <?php echo $row_ip['ip']; ?> </td><!-- IP --> <td> <?php if ($total_items2 == 0) { ?>0<?php } ?><?php if ($total_items2 > 0) { ?><?php echo $total_items2; ?><?php } ?> </td><!-- ITENS POSTADOS NA PAGINA DOWNS --> <td> <?php echo $total_follower; ?> </td><!-- SEGUINDO --> <td> <?php echo $total_follow; ?> </td><!-- SEGUIDOR --> <td> <?php echo $result_ip; ?> </td><!-- LOGINS TOTAL --> <td class="with-btn" nowrap> <a href="<?= $url; ?>edit_usuario/<?php echo $row_usuario['id']; ?>" class="btn btn-sm btn-primary width-60 m-r-2">Editar</a> <?php if ($row_usuario['status'] == "2") { ?> <a href="<?= $url; ?>edit_ban/<?php echo $row_usuario['id']; ?>" class="btn btn-sm btn-warning">DesBanir</a> <?php }else{ ?> <a href="<?= $url; ?>edit_ban/<?php echo $row_usuario['id']; ?>" class="btn btn-sm btn-danger">Banir</a> <?php } ?> </td><!-- OPÇÕES DE EDITAR E BANIR --> </tr> <?php } ?> </tbody> Só deixar claro aqui sei que ninguém aqui é leigo mais para adiantar e talvez não haver confusão:
       
      Esse inicio de código seria o que chama a tabela dos usuários e seus dados: 
       $query = "SELECT * FROM vanguard_users";
                                              $stmt = $bdd->prepare( $query );
                                              $stmt->execute();
                                              while($row_usuario=$stmt->fetch(PDO::FETCH_ASSOC))
                                              {
       
      Essa segunda parte é uma segunda tabela onde chama algumas informações referente á um serviço do site:
      $result_items2 = $bdd->query('SELECT count(1) FROM vanguard_items WHERE author="' .$row_usuario['usern']. '"');
                                                  $row_items2 = $result_items2->fetch();
                                                  $total_items2 = $row_items2[0];
       
      Essa terceira parte chama outra tabela e informa outros dados referente ao perfil do usuario:
      $result_follow = $bdd->query("SELECT count(1) FROM vanguard_follow WHERE id_following = {$row_usuario['id']}");
                                                  $row_follow = $result_follow->fetch();
                                                  $total_follow = $row_follow[0];
       
      $result_follower = $bdd->query("SELECT count(1) FROM vanguard_follow WHERE id_follower = {$row_usuario['id']}");
                                                  $row_follower = $result_follower->fetch();
                                                  $total_follower = $row_follower[0];
       
       
      Essa quarta parte chama a quantidade de logins do usuario :
      Obs que esse é a mesma TABELA que preciso acessar para ver o IP do usuário porem ele só contabiliza os IP do mesmo usuário e soma assim dando a quantidade de logins no site.
       
      extract($row_usuario);
                                                  
                                                  $name_user = $row_usuario['usern'];
                                                  $result_ip = $bdd->prepare('SELECT COUNT(ip) FROM vanguard_singin WHERE name_user = "' .$row_usuario['usern']. '"');
                                                  $result_ip->execute(array($name_user));
                                                  $result_ip = $result_ip->fetchColumn();
       
      Preciso dessa mesma tabela visualizar os ultimos logins e me informar o IP como mostro no inicio da publicação.
      Quem puder ajudar agradeço muitissímo.
      Abraço a todos e um ótimo final de semana.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.