Inserindo dados em c

4 respostas
G

Olá senhores, estou com o seguinte problema: não consigo inserir dados no meu bd(mysql) através da aplicação c, não da forma que eu gostaria pelo menos deixa eu tentar me explicar:

mysql_query(&conexao,“INSERT INTO CLIENTES(nome, cpf, telefone, senha) values(‘Fulano’, ‘12345678’, ‘44448888’,‘4321’);”);

da maneira acima funciona, código roda de boa, insere e tudo mais, porém eu gostaria de inserir as informações recebidas no console atribuindo elas a uma struct, eis o que estou tentando fazer e falhando miseravelmente(não compila):

if ( mysql_real_connect(&conexao, localhost, root, 250195, vt_estrutura, 0, NULL, 0) ){

printf("\nConexao ao banco realizada com sucesso!\n");

system(cls);

printf("\t\nDigite o nome do cliente a ser cadastrado\n\n");

fflush(stdin);

fgets(cliente.nome, 30, stdin);

printf("\t\nDigite o cpf do cliente a ser cadastrado\n\n");

fflush(stdin);

fgets(cliente.cpf, 30, stdin);

printf("\t\nDigite o telefone do cliente a ser cadastrado\n\n");

scanf("%d",&cliente.telefone);

printf("\t\nDigite o senha do cliente a ser cadastrado\n\n");

fflush(stdin);

fgets(cliente.senha, 15, stdin);

mysql_query(&conexao,INSERT INTO clientes(nome, cpf, telefone, senha) values(%s, %s, %d, %s)

(cliente.nome, cliente.cpf,cliente.telefone,cliente.senha,););

}else{

printf(Falha de conexao\n);

printf(Erro %d : %s\n, mysql_errno(&conexao), mysql_error(&conexao));

system(pause>null);

return(0);

}

}

Não coloquei o programa inteiro para não ficar muito grande o post, porém ele está compilando e rodando perfeitamente, única coisa que não estou conseguindo fazer é inserir dados no mysql através do console, alguém saberia me dizer qual é a forma correta ? grato desde já.

4 Respostas

G

ah, o erro que da no console tentando da segunda forma é o seguinte:

image

ps:estou usando codeblocks

K

Falta fechar o string da query. Usa uma IDE que ajude a ver essas coisas mais facilmente.

Outra coisa não relacionada com esse erro é que sua query ta meio estranha, você não está passando os valores da sua struct.

G

Olá Kronal obrigado pela resposta, fechar a string da query você diz um mysql_close ?

Bom eu não sou muito familiarizado com C mas tenho que fazer esse trabalho, estava utilizando o dev mas é tão ruim quanto esse codeblocks, teria alguma IDE em específico pra sugerir ?

E como assim não estou passando os valores da minha struct ?

K

Fechar e abrir é jeito de falar, você abre/inicia um string com aspas, e finaliza/fecha ele com aspas outra vez.

Falta aspas ali.

Criado 23 de maio de 2018
Ultima resposta 3 de jun. de 2018
Respostas 4
Participantes 2