Usando MySQL na linguagem C - Exemplo 5

Publicado por Ricardo Rodrigues Lucca 09/08/2003

[ Hits: 12.285 ]

Homepage: http://aventurasdeumdevop.blogspot.com.br/

Download ex5.c




No quinto e último script exemplo do artigo Usando MySQL na linguagem C, mostramos como
fazer uma consulta.

  



Esconder código-fonte

#include <stdio.h>
#include <mysql/mysql.h>

#define HOST "localhost"
#define USER "guest"
#define PASS "guest"
#define DB "teste"

int main(void)
{
   MYSQL conexao;
   MYSQL_RES *resp;
   MYSQL_ROW linhas;
   MYSQL_FIELD *campos;
   char query[]="SELECT * FROM aprendendo;";
   int conta; //Contador comum

   mysql_init(&conexao);
   if (mysql_real_connect(&conexao,HOST,USER,PASS,DB,0,NULL,0))
   {
      printf("Conectado com Sucesso!\n");
      if (mysql_query(&conexao,query))
         printf("Erro: %s\n",mysql_error(&conexao));
      else
      {
         resp = mysql_store_result(&conexao);//recebe a consulta
        if (resp) //se houver consulta
        {
           //passa os dados dos campos para a variável campos
           //escreve na tela os nomes dos campos dando
           //um tab somente
           campos = mysql_fetch_fields(resp);
           for (conta=0;conta<mysql_num_fields(resp);conta++) {
              printf("%s",(campos[conta]).name);
              if (mysql_num_fields(resp)>1)
                  printf("\t");
              }
        
              printf("\n");  

              //enquanto retornar registros, conta até o
              //número de colunas que a tabela tem e escreve na
              //tela com um tab, depois pula a linha e tenta
              //pegar outro registro
              while ((linhas=mysql_fetch_row(resp)) != NULL)
              {
                 for (conta=0;conta<mysql_num_fields(resp);conta++)
                    printf("%s\t",linhas[conta]);
                 printf("\n");
              }
          }
          mysql_free_result(resp);//limpa a variável do resultado: resp
        }
        mysql_close(&conexao);
   }
   else
   {
      printf("Conexao Falhou\n");
      if (mysql_errno(&conexao))
         printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao));
   }

   return 0;
}

Scripts recomendados

Agenda eletrônica em C + SQL

Gerador de wordlist

Gerar dados aleatórios no MySQL

amigo

Aplicativos


  

Comentários
[1] Comentário enviado por ic3hawk em 10/08/2004 - 18:33h

Caro Ricardo,

Eu estou usando bem o mysql com o C, no entanto, você sabe se é possível executar duas querys ao mesmo tempo?

Estou precisando rodar duas querys ao mesmo tempo e não estou conseguindo. Você tem alguma idéia de como fazer?

[2] Comentário enviado por ic3hawk em 11/08/2004 - 15:19h

Já consegui resolver o problema!!!!

[3] Comentário enviado por cond cromo em 03/12/2007 - 01:09h

Esse metodo funciona no windows ?

[4] Comentário enviado por Lucas566 em 01/10/2010 - 10:14h

olá Ricardo Rodrigues, estou precisando de uma ajuda não conheço muito C, e queria saber como
receber e enviar pacotes de/para um cliente ou mais .
o programa deverá ler os dados dos pacotes e ver se a permissão é de ler ou escrever, os pacotes c/ permissão de ler o programa buscará no banco mysql os dados referentes ao id apresentado no pacote, e os c/ permissão de escrever, o programa estrairá dados e gravará no banco mysql de acordo c/ o Id do pacote.
Se você poder mi ajudar agradeço,
Atenciosamente Lucas Marques (aprindiz de C)


Contribuir com comentário