Agenda completa em C com SQL
Publicado por André (última atualização em 17/11/2010)
[ Hits: 8.101 ]
Homepage: http://127.0.0.1
Agenda completa:
Inserção
Remoção
Busca
Listagem
Escrita em C com uso de SQL (SGBD MySQL).
Criada por mim, os créditos devem ser mantidos, código aberto para estudo.
* Open source
#include <stdio.h> #include <stdlib.h> #include <mysql/mysql.h> /* Algumas variáveis globais */ int opc; int opc2; int sexo3; char buff[256]; char del[256]; char sexo [5]; char nome[150]; char nomeDel[150]; int cadastra(); MYSQL conexao; int main() { mysql_init(&conexao); if(mysql_real_connect(&conexao, "localhost","root", "root", "agenda", 0, NULL, 0)) { printf("Conectado com sucesso!\n"); cadastra(); mysql_close(&conexao); } else { printf("Houve uma falha ao tentar conectar! \n"); printf("Erro: %d %s\n",mysql_errno(&conexao), mysql_error(&conexao)); } return (0); } int cadastra() { printf("\n\n\t\tMenu:\n"); printf("\t\t--------------\n"); printf("\t\t[1] Inserir\n" "\t\t[2] Buscar\n" "\t\t[3] Listar\n" "\t\t[4] Remover\n" "\t\t[5] Creditos\n" "\t\t[0] Sair\n" "\t\t\t>> "); scanf("%d",&opc); // "limpa" o buff //memset(buff, 0x0, sizeof(buff)); switch(opc) { case 0: getchar(); break; case 1: /* Cadastro */ printf("Nome: "); scanf("%s",&nome); printf("Sexo: (M/F) "); scanf("%s",&sexo); sprintf(buff, "INSERT INTO aprendendo(nome, sexo) values('%s','%s');", nome, sexo); mysql_query(&conexao,buff); printf("O contato %s foi cadastrado com sucesso!\n",nome); break; case 2: /* Buscar */ printf("Digite o nome: "); scanf("%s",&nome); printf("Resultados para '%s':\n",nome); sprintf(buff, "SELECT * from aprendendo where nome = '%s';", nome); mysql_query(&conexao,buff); MYSQL_RES * rj = mysql_store_result(&conexao); // Pega os dados retornados MYSQL_ROW rol; while (rol = mysql_fetch_row(rj)) // Pega uma linha de resultado { printf("ID : %s\n", rol[0]); printf("Nome : %s\n", rol[1]); printf("Sexo : %s\n", rol[2]); printf("----------------\n"); } mysql_free_result(rj); // Limpa a memória utilizada break; break; case 3: /* Listar */ printf("Selecione um filtro:\n "); printf("\t\t[1] Listar tudo\n"); printf("\t\t[2] Filtrar por sexo\n"); printf("\t\t\t>> "); scanf("%d",&opc2); switch(opc2) { case 1: /* Lista tudo */ printf("\t\tListando tudos cadastros:\n"); printf("\t\t-----------------------\n"); if (mysql_query(&conexao, "SELECT * FROM aprendendo") != 0) { printf("Erro de SQL: %s!\n", mysql_error(&conexao)); exit(0); } MYSQL_RES * rs = mysql_store_result(&conexao); // Pega os dados retornados MYSQL_ROW row; while (row = mysql_fetch_row(rs)) // Pega uma linha de resultado { printf("ID : %s\n", row[0]); printf("Nome : %s\n", row[1]); printf("Sexo : %s\n", row[2]); printf("----------------\n"); } mysql_free_result(rs); // Limpa a memória utilizada break; case 2: /* Filtra por sexo */ printf("Selecione um sexo:\n "); printf("\t\t[1] Masculino (M)\n"); printf("\t\t[2] Feminino (F)"); printf("\n\t\t\t>> "); scanf("%d",&sexo3); switch(sexo3) { case 1: if (mysql_query(&conexao, "SELECT * from aprendendo where sexo = 'M';") != 0) { printf("Erro de SQL: %s!\n", mysql_error(&conexao)); exit(0); } MYSQL_RES * rs = mysql_store_result(&conexao); // Pega os dados retornados MYSQL_ROW row; while (row = mysql_fetch_row(rs)) // Pega uma linha de resultado { printf("ID : %s\n", row[0]); printf("Nome : %s\n", row[1]); printf("Sexo : %s\n", row[2]); printf("----------------\n"); } mysql_free_result(rs); // Limpa a memória utilizada break; case 2: if (mysql_query(&conexao, "SELECT * from aprendendo where sexo = 'F';") != 0) { printf("Erro de SQL: %s!\n", mysql_error(&conexao)); exit(0); } MYSQL_RES * rd = mysql_store_result(&conexao); // Pega os dados retornados MYSQL_ROW lol; while (lol = mysql_fetch_row(rd)) // Pega uma linha de resultado { printf("ID : %s\n", lol[0]); printf("Nome : %s\n", lol[1]); printf("Sexo : %s\n", lol[2]); printf("----------------\n"); } mysql_free_result(rd); // Limpa a memória utilizada break; default: /* Opção inválida */ printf("Opcao invalida! \n"); return EXIT_FAILURE; } break; break; default: /* Opção inválida */ printf("Opcao invalida! \n"); return EXIT_FAILURE; break; } break; case 4: printf("Digite o nome a ser removido: "); scanf("%s",&nomeDel); printf("Deletando o cadastro: '%s'...\n",nomeDel); sprintf(del, "DELETE from aprendendo where nome = '%s';", nomeDel); mysql_query(&conexao,del); printf("O cadastro '%s' foi deletado com sucesso!\n",nomeDel); break; case 5: printf("\t\t\t\n\nCoded by AndreZc\n"); printf("Andre S. Rosa Junior\n"); printf("Mail: andre.rosa36 at gmail "); break; default: printf("Opcao invalida! \n"); return EXIT_FAILURE; break; } return (0); }
Mudando Cor da Letra e Fundo de Tela
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta