Agenda completa em C com SQL
Publicado por André (última atualização em 17/11/2010)
[ Hits: 8.162 ]
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); }
Algoritmo de ordenação Quick Sort
Biblioteca estática para manipulação de pilhas
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Programa duplicado no "Abrir com" e na barra de pesquisa do ... (1)
VMs e Interfaces de Rede desapareceram (13)
Como abrir o pycharm no linux [RESOLVIDO] (4)