Usando MySQL na linguagem C - Exemplo 5

Publicado por Ricardo Rodrigues Lucca 09/08/2003

[ Hits: 12.089 ]

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

Matador de conexões MYSQL que estão dormindo há muito tempo

Gerar dados aleatórios no MySQL

teste

Estrutura de serviço

Calcula tarifa - tarifa.c


  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts