Inserindo dados – MySQL – Linguagem C
Esse tutorial funciona em vários IDEs, mas só posso garantir total funcionalidade no CodeBlocks, pois é a continuação do tutorial que vimos anteriormente: Instalando a biblioteca MySQL no CodeBlocks.
Meu banco de dados tem uma tabela com o nome PESSOA e que essa tabela tem duas colunas nome e sexo.
Para inserir os dados (nome e sexo) de uma pessoa usaremos a função mysql_query(&conexao, “insert into PESSOA(nome, sexo) values(‘inserir aqui o nome‘, ‘inserir aqui o sexo‘);
da Header mysql.h.
É bom que você tenha algum conhecimento sobre banco de dados, pois facilitará bastante.
Bom, vamos ao que interessa, minha tabela está criada (imagem abaixo).
1º Passo: Abra o CodeBlocks e clique em File->New->Empty file, ou shift+alt+N.
– Salve o arquivo com a extensão .c (imagens abaixo).
2º Passo: Insira as bibliotecas:
– stdio.h
– windows.h
– mysql.h
– winsock2.h
-string.h
*Ficará assim:
#include <stdio.h>
#include<windows.h>
#include <mysql.h>
#include <winsock2.h>
#include<string.h>
– Agora, vamos usar #define para salvar as informações de acesso ao banco de dados.
#define servidor “Nome do seu servidor”
#define usuario “Usuário”
#define senha “Senha”
#define bd”Banco de dados”
OBS->NÃO PRECISA COPIAR, POIS O CÓDIGO INTEIRO ESTÁ DISPONÍVEL LOGO ABAIXO!
3º Passo: Abra o código abaixo e cole em seu CodeBlocks.
– Clique em + expand source
#include <mysql.h>
#include <winsock2.h>
#include<string.h>
#define servidor "Nome do seu servidor"
#define usuario "Usuário"
#define senha "Senha"
#define bd "Banco de dados"
main()
{
MYSQL conexao;
mysql_init(&conexao);
if (mysql_real_connect(&conexao, servidor, usuario, senha, bd,0,NULL,0))
{
printf("Conectado com sucesso!n");
mysql_query(&conexao,"INSERT INTO PESSOA(nome, sexo) values(‘Isaac Fernando’, ‘M’);");
mysql_close(&conexao);
}
else
{
printf("Falha de conexaon");
printf("Erro %d : %sn", mysql_errno(&conexao), mysql_error(&conexao));
}
}
[/code]
4º Passo: Preencha adequadamente com as informações do seu banco de dados e insira as informações.
– Veja que há ninguém cadastrado no meu banco de dados.
– Agora, vou compilar esse código e inserir esses dados na minha tabela.
– Vamos olhar lá no meu banco se essas informações foram salvas corretamente.
– Para mostrar a funcionalidade do algoritmo vou escrever o nome do servidor erradamente só para mostrar o erro(Deixei o nome do meu servidor como:” Nome do seu servidor”).
Tudo que a gente fez até agora foi inserir os dados na tabela sem verificar se os mesmos foram inseridos corretamente ou não. Agora vamos ver como se verifica a inserção dos dados, só precisamos pegar o valor de retorno de uma variável da função mysql_query e testar o seu valor, se o valor retornado for zero será porque os dados foram inseridos corretamente, mas se for diferente de zero é porque há erros na função mysql_query.
– O código abaixo
– Clique em + expand source
#include <mysql.h>
#include <winsock2.h>
#include<string.h>
#define servidor "Nome do seu servidor"
#define usuario "Usuário"
#define senha "Senha"
#define bd "Banco de dados"
main()
{
MYSQL conexao;
int res;
mysql_init(&conexao);
if(mysql_real_connect(&conexao, servidor, usuario, senha, bd,0,NULL,0))
{
printf("Conectado com sucesso!n");
res = mysql_query(&conexao,"INSERT INTO PESSOA(nome, sexo) values(‘Isaac Fernando’,’M’);");
if (!res)
{
printf("Registros inseridos %dn", mysql_affected_rows(&conexao));
}
else
{
printf("Erro na insercao %d : %sn", mysql_errno(&conexao), mysql_error(&conexao));
mysql_close(&conexao);
}
}
else
{
printf("Falha de conexaon");
printf("Erro %d : %sn", mysql_errno(&conexao), mysql_error(&conexao));
}
}
[/code]
Na próxima postagem veremos como consultar os elementos do seu BD MySQL usando C.
OBS-> Se forem copiar o tutorial para reprodução, por favor, incluam os créditos!