Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. QSqlQuery chamar função PostgreSQL
Qt 6.11 is out! See what's new in the release blog

QSqlQuery chamar função PostgreSQL

Scheduled Pinned Locked Moved Portuguese
3 Posts 2 Posters 2.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    Exotic_Devel
    wrote on last edited by
    #1

    Eu tentei segui a documentação da classe QSqlQuery, segui o exemplo que mostra como executar stored procedures que em PostgreSQL são funções. Na documentação mostra o seguinte exemplo:

    @ QSqlQuery query;
    query.prepare("CALL AsciiToInt(?, ?)");
    query.bindValue(0, "A");
    query.bindValue(1, 0, QSql::Out);
    query.exec();
    int i = query.boundValue(1).toInt(); // i is 65@

    No meu caso isso não funcionou, ou seja, usando a palavra CALL. Só deu certo colocando o select completo.

    @ action.prepare("select operational."f_InsertTechnical"(?, ?, ?)");
    action.bindValue(0, "Matheus Saraiva da Silva");
    action.bindValue(1, "matheus.saraiva@house.com");
    action.bindValue(2, "+554941414141");
    @

    Reparem que no meu banco a função f_InsertTechnical não está no esquema padrão, ou seja o public está um um esquema chamado operational, sendo assim no select o nome da função deve ser precedido do nome do esquema. Será que isso está influenciando no funcionamento do CALL?
    Eu tentei incluir o nome do esquema ("CALL operational."f_InsertTechnical"(?, ?, ?)") mas sem sucesso.

    1 Reply Last reply
    0
    • T Offline
      T Offline
      TioRoy
      wrote on last edited by
      #2

      Acho que não está relacionado ao Qt, mas sim ao Pg.
      Veja "aqui":http://stackoverflow.com/questions/1953326/how-to-call-a-function-postgresql

      Mas não sou um profundo conhecedor de Pg para ter certeza.

      Dei uma olhada nos fontes do driver do Qt, e não vi nada que trate os comandos do lado do Qt. O QSqlDriver repassa a string diretamente para a lib do Pg.

      Qual tutorial você viu a chamada à CALL?

      1 Reply Last reply
      0
      • T Offline
        T Offline
        TioRoy
        wrote on last edited by
        #3

        Ta na doc do QSqlQuery. Ví agora.

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved