Contribua

Doação

sábado, 4 de abril de 2020

Programa exempo para consulta em bd Mysql com programa C


#include<stdio.h>
#include<mysql/mysql.h>
#
#Author Edson Pessotti --> edpess@gmail.com
#
#Vamos criar variáveis para fazermos o login no Mysql.
#
#define HOST "localhost"
#define USER "guest"
#define PASS "guest"
#define DB "curso"
int main(void)
#
MYSQL conexao;
MYSQL_RES *resp;
MYSQL_ROW linhas;
MYSQL_FIELD *campos;
char query[]="SELECT * FROM curso;";
int conta; //Contador comum
#Aqui o login e feito passando as variáveis que  criamos.
#
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);// A variável resp recebe a consulta
if (resp) //se houver consulta se houve um retorno ela é verdadeira.
{
//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;

Inserção de dados em uma tabela no banco de dados MYSQL utilizando a linguagem C.


Inserção de dados em uma tabela no banco de dados MYSQL  utilizando a  linguagem C.
Este é um exemplo de query padrão, onde  estamos inserindo valores na tabela curso, a tabela possue  três campos nome , sexo , idade.
mysql_query(&conexao, "insert into curso(nome, sexo, idade) values('Ricardo Rodrigues
Lucca', 'M', 12);
Sempre que vamos  inserir dados  em uma tabela utilizamos uma query como a dada acima.
Como  vimos, na variável do tipo char que é passada como parâmetro, informamos que estamosquerendo inserir algo (insert into) em algum lugar (aprendendo(nome, sexo)) com os
valores X. Se quiséssemos escrever no nome "Moro na rua 24 de julho. E dane-se o mundo!",
teríamos que fazer da seguinte forma a pesquisa:
"insert into aprendendo(nome, sexo) values ('Moro na rua 24 de julho. E dane-se o mundo',
'!');"
A função ficaria:
mysql_query(&conexao, "insert into curso(nome, sexo, idade) values ('Edson Peixotto’, ‘M’ , 25);"
a função indica que estamos inserindo nos campos nome , sexo e idade referidos no primeiro parenteses, os respectivos dados passados no segundo parenteses, ' Edson Peixotto’ , ‘M’ , 25 ,  no banco de dados  nome e sexo foram definidos como  varchar por isso estamos passando os valores entre aspas, porque são strings, já a idade foi definida no banco como numérica int, por isso e passada sem  aspas.
Quando  e feita a inserção de dados e preciso tomar cuidado com o tipo de dado que estamos inserindo para não travamento, tentar inserir um numero dentro de um String e vise-versa,  se for preciso deve ser feito a conversão antes da inserção.
Programinha exemplo:
#include#include<stdio.h>
#
#Author Edson Pessotti --> edpess@gmail.com
#
<mysql/mysql.h>
void main(void)
{
MYSQL conexao;
mysql_init(&conexao);
#Aqui checamos se a conexão foi bem sucedida.
#
if ( mysql_real_connect(&conexao, "localhost", "guest", "guest", "banco", 0, NULL, 0) )
{
printf("conectado com sucesso!\n");
#
#Aqui e feita a inserção dos valores na tabela curso.
mysql_query(&conexao,"INSERT INTO curso(nome, sexo, idade) values('Edson Peisotto,  'M' , 25),;");
}
mysql_close(&conexao);
}
else
{
printf("Falha de conexao\n");
printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao));
}

Programa exempo para consulta em bd Mysql com programa C

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