Problema C++ Mysql

1. Problema C++ Mysql

Leonardo
leonardoadoado

(usa Outra)

Enviado em 22/04/2012 - 19:08h

Estou tentando escrever um algorítimo onde o INSERT do mysql recebe duas variáveis.

O problema é que na hora de compilar, dá esse erro ( invalid operands of types `const char*' and `const char[2]' to binary `operator+' ).

O problema fica no local onde quero usar uma variável para inserir dados.

Uso o Devc++ 4.9.9.2

Aguardo ansioso por respostas.

#include <stdio.h>
#include <windows.h>
#include <mysql.h>
#include<conio.h>


main()
{
MYSQL conexao;
MYSQL_RES *resposta
MYSQL_FIELD *campos;
MYSQL_ROW linhas;
int res;
char perg;
int codigo;
char produto[20];

do
{
scanf("%d",&codigo);
scanf("%s",&produto);

mysql_init(&conexao);
if ( mysql_real_connect(&conexao, "localhost", "root", "mestre", "dados", 0, NULL, 0) )
{
printf("conectado com sucesso!\n");

res = mysql_query(&conexao,"INSERT INTO shoppp(codigo,produto) values("+ codigo +"," + produto + " );");

<std::string> e nomes de arquivos)
if (!res) printf("Registros inseridos %d\n", mysql_affected_rows(&conexao));
else printf("Erro na inserção %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao));

mysql_close(&conexao);
}
else
{
printf("Falha de conexao\n");
printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao));
}

do
{
printf("\n\nDeseja inserir outro resgistro? (S) (N)");
perg = getch();
}while(perg!=83&&perg!=115&&perg!=78&&perg!=110);

}while(perg==83||perg==115);

}


  


2. Re: Problema C++ Mysql

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 22/04/2012 - 21:29h


usa a include assim
tive o mesmo problema e resolveu assim na include
#include<mysql/mysql.h>


3. Re: Problema C++ Mysql

Leonardo
leonardoadoado

(usa Outra)

Enviado em 22/04/2012 - 22:29h

Isso não resolve. O problema não é esse.

O problema é que estou tentando inserir dados no mysql por meio de uma variável, e não estou conseguindo.

O erro ao compilar está nessa linha abaixo.

res = mysql_query(&conexao,"INSERT INTO shoppp(codigo,produto) values("+ codigo +"," + produto + " );");

Quem puder me ajudar, agradeço.


4. Re: Problema C++ Mysql

cr0n
_di0

(usa FreeBSD)

Enviado em 24/04/2012 - 22:19h

Tente tratar antes da string, antes de usá-la, na tentativa de evitar o erro em tempo de compilação:

string comando;


comando = "INSERT INTO shoops( ";
comando += codigo;
comando += produto;
comando += ") VALUES ('";
comando += codigo;
comando += produto;
comando +="')";

E então, chame:

res = mysql_query(&conexao, comando.c_str());

if (res) {
cout << "Dado inserido com sucesso\n";
}
else {
cout << "Falha ao gravar no banco de dados\n";
}

Essa é a idéia, se for testar esse trecho de código que escrevi acima, é possível que fatalmente retorne algum erro em relação a algum abertura ou fechamento de aspas, pois eu não testei, estou sem DevC++, ou outro compilador e sem um editor de texto e também fiz na correria. Mas pelo menos terá uma base de onde pode estar a origem do problema. Até






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts