CPP (também conhecido como C ++) + MySQL

MySQL

Olá a todos, trago aqui um exemplo de como seria uma conexão entre C ++ e MySQL no GNU / Linux, claro que este é apenas um exemplo básico. Antes de mais nada, vou usar G ++ e eles devem ter os pacotes instalados libmysql ++ y libmysql ++ - dev . Bem, aqui está o exemplo:

#incluir #incluir #incluir usando namespace std; #define SERVIDOR "HOST" #define USUÁRIO "USR" #define SENHA "PSWD" #define DATABASE "exemplo" int main () {MYSQL * connect; conectar = mysql_init (NULL); if (! conectar) {cout << "Falha na inicialização do MySQL"; return 1; } connect = mysql_real_connect (conectar, "HOST", "USER", "PASWD", "DATA BASE", 0, NULL, 0); if (conectar) {cout << "conexão bem-sucedida \ n"; } else {cout << "conexão falhou \ n"; } MYSQL_RES * res_set; Linha MYSQL_ROW; mysql_query (conectar, "selecionar * dos dados;"); sem sinal int i = 0; res_set = mysql_store_result (conectar); sem sinal numrows int = mysql_num_rows (res_set); cout << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; while (((row = mysql_fetch_row (res_set))! = NULL)) {// cout << "% s \ n", row [i]! = NULL? row [i]: "NULL"; cout << "\ t | \ t" << linha [i] << "\ t | \ t" << linha [i + 1] << "\ t | \ t" << linha [i + 2] << "\ t | \ t" << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; } mysql_close (conectar); return 0; }

Bem, se você não sabe como compilar em G ++, este é um exemplo:

g ++ -o main main.cpp -L / usr / include / mysql -lmysqlclient -I / usr / include / mysql

Então você o executa e ficaria assim:

------------------------------------- | 1 | Carmen | 46 ------------------------------------- | 2 | Juan | 56 --------------------------------------

Nota: você também pode compilá-lo usando o MAKEFILE METHOD.


33 comentários, deixe o seu

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Pandev92 dito

    C ++ ... essa linguagem me derrotou há muito tempo ...

    1.    eliotime3000 dito

      Eu fico faminto por mais com essa linguagem de programação (a clareza e as possibilidades que ela oferece são insubstituíveis).

      1.    Pandev92 dito

        Não estou dizendo não, só porque era muito difícil para mim, python ou mono, eles pareciam mais fáceis de usar.

        1.    moela dito

          Fique com Python. Torna você mais produtivo em menos tempo.

        2.    eliotime3000 dito

          Python pode ser, para ser capaz de corrigir bugs que deixam programas como o software-center ou Ubiquiti, mas Java, apenas para matar o tempo.

          Na verdade, com C ++ eu posso entender melhor os códigos (embora a maioria veja um labirinto de códigos ilegíveis) e posso ter uma noção clara sobre o que vai fazer (embora Java seja mais fácil de entender o código na primeira vez , Vejo como se fosse BASIC e para falar a verdade, prefiro trabalhar com o OpenJDK em vez do Java JDK por medo de que a Oracle coloque mais bugs para o inferno).

    2.    nelson dito

      eu também

  2.   ferchmetal dito

    Amigo obrigado.

  3.   Eduardo dito

    Exemplo básico? Então será o clássico:
    classe: 2 + 2 = 4
    tarefa: 2 × 3 = 6
    Exame: se Eduardo tem 20 laranjas e tem que distribuí-las entre 4 crianças, qual é a massa corporal das crianças?

    1.    eliotime3000 dito

      1.- Resolva o problema (o mais importante e o que mais demora para um novato).
      2.- Traduza a solução para C ++ (se for essa linguagem, as novas irão desistir na maioria dos casos e mais se usarem GNU Emacs).
      3.- Depurar por precaução e compilar (na realidade é o contrário, mas poucos o fazem).

      PS: Esse teste é anti-presunçoso / pedante.

  4.   Eduardo dito

    Peço desculpas do caso pelo comentário em triplicado, mas a página me deu erro interno do servidor e talvez por isso, ao tentar novamente, foi postado novamente.
    Saudações e obrigado pelo post !!

    1.    eliotime3000 dito

      Não há problema. De qualquer forma, estou comentando sobre o Chromium nightly for Windows e não tive problemas dessa natureza ao comentar (embora eu recomende que você se registre para que o sistema de comentários gere mais erros que o Windows Millenium).

      1.    eliotime3000 dito

        Eu queria dizer: "embora eu recomende que você se registre para que o sistema de comentários lance menos erros do que o Windows Millenium" [errare humanum est].

        1.    Pandev92 dito

          carpedium LOL

  5.   eliotime3000 dito

    Esse código é o C ++ mais bonito que já vi (visualizador de banco de dados no estilo KISS).

    Agora, se este código pode ser compilado no Windows usando GNU Emacs em conjunto com GCC no Windows (com MySQL / MariaDB incluído), seria um marco.

  6.   Ratakill dito

    Sem dúvida c ++ é o melhor que temos, já fiz um número ilimitado de testes sobre o desempenho e as possibilidades que ele nos oferece e sem dúvida nada o supera claro que reconheço que pode ser uma dor de cabeça para alguns

    1.    eliotime3000 dito

      Eu admiro essa linguagem, mas me falta prática (e o suficiente) para ser capaz de dominá-la completamente e, assim, ser capaz de montar um aplicativo visual decente com Qt.

  7.   Jamin-Samuel dito

    Huy não

    Eu prefiro Python

    ????

    1.    Ratakill dito

      Bem, todo louco com seu tema de saudações

    2.    moela dito

      Excelente escolha.

    3.    eliotime3000 dito

      [egoísmo] Preguiçoso [/ egoísmo].

  8.   juliano dito

    Eu prefiro o VB.NET, é muito mais fácil e tem um bom suporte para SQL Server. Além de ser mais produtivo que outros idiomas e um dos mais solicitados na hora de procurar trabalho. Não quero perder meu tempo com C ++

    1.    Pandev92 dito

      Se ficarmos assim, o mais solicitado geralmente é a porcaria do Java.

      1.    eliotime3000 dito

        É o mesmo que VB.NET, mas muito mais gráfico e é inútil trabalhar em GNU / Linux.

  9.   Ratakill dito

    Eu apenas recomendo o probe C ++ bc para criar uma venda simples em c ++, python e qt e cerca de surpresa:
    Python-> 7.6 MB
    Qt -> 27 MB (XD)
    C ++ -> 2.4 MB

    Bem, todos que tiram suas próprias conclusões, saudações

    1.    moela dito

      Python 7.6 MB ??? De jeito nenhum! Impossível. Se eles não forem nada mais do que scripts. Ou você tinha imagens? Compartilhe o código. É assim que todos nós o vemos e comparamos. Convença-nos.

      1.    Ratakill dito

        Você está certo, um pequeno bug python não consumiu 7.6 MB, mas se 6.2 MB, então me diga agora ...
        Este é o código e acho que não pode ser mais otimizado:
        #! / usr / bin / python
        de gi.repository import Gtk

        win = Gtk.Window ()
        win.connect ("delete-event", Gtk.main_quit)
        win.show_all ()
        Gtk.main ()

        1.    moela dito

          Imagino que você se refira ao consumo de RAM. A questão é que, em Python e em quase qualquer linguagem, você escala uma curva assintótica conforme complica o código. Apenas para teste, rodei um jogo que estou desenvolvendo com PyGame. Animação + áudio de fundo + sons para eventos e mal atingiu 14 MB. Como obviamente o seu programa não será tão simples como uma janela, mas mais complexo, você verá no final que, quando tiver código suficiente, grandes modificações nele não trarão um aumento maior no uso de RAM.

        2.    moela dito

          Para simplificar um pouco o que estou mostrando: você não pode fazer um perfil de tempo se não executar um segmento de código algumas milhares de vezes, certo? Bem, da mesma forma você não pode dizer se uma linguagem consome muito ou pouco apenas olhando para o exemplo mais simples possível. Na verdade, o truque é parecer o mais complexo possível.

          1.    Ratakill dito

            Bem, no meu entendimento, no nível de programação este 01010111, assembler e depois c, tão impossível que com uma linguagem de alto nível como python ele supere ac / c ++ em desempenho (em todos os aspectos) e bem, nada melhor do que um exemplo muito simples como o de crie uma janela para ver uma diferença de 3.8 mb em apenas mostrar uma janela simples, quando você adiciona carga ao seu programa (um programa grande, que tem um bom peso com mais de 5 formulários, e aplica classes, herança, polimorfismo, funções virtuais, dicas e mais para dar um exemplo) Garanto que você vai mudar de opinião, quero deixar claro que não critico outras linguagens de programação e muito menos Python para o cantrario, apenas comento e testo com testes as vantagens e desvantagens que vejo a olho nu sem incentivo para aprofundar saudações

          2.    moela dito

            Veja isso:

            http://www.youtube.com/watch?v=cPVlYWxcu18

            Mas assista ao vídeo completo. Não trapaceie, senão você simplesmente dará uma opinião baseada no preconceito.

          3.    moela dito

            Em qualquer caso, você não me entendeu. À medida que você complica a questão, ambos terão mais ou menos o mesmo peso. Na página de Lázaro eles fornecem um gráfico sobre isso, comparando Lázaro com C.
            No final das contas tudo é amigo relativo. Porque o homem não vive apenas de RAM.

    2.    eliotime3000 dito

      Pelo menos o QT é compatível com as interfaces Aqua, Win32 (e suas variantes Aero e Metro) e outras interfaces, exceto LXDE (parece Windows 95 para ser honesto).

      1.    Pandev92 dito

        gtk2 em aqua parece bom ...