Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vesguin

inserindo valor do textbox direto no my sql

Recommended Posts

ola amigo eu sou novo no forum mi chamo mackeyv, fasso Analise e desenvolvimento de Sistemas em minha cidade Colatina e estou no 4º peeriodo, e estou começando a mexer com C++ pela sua ampla plataforma em objetos graficos, e estou com um problema q n concigo resolver ja tem umas 2 semanas uahuah

 

é o seguinte eu quero inserir o valor de um text box direto em no mysql com o seguinte comando

 

 

conn = mysql_init(conn);
mysql_real_connect(conn,host,user,password,database,0,NULL,0);

try 
{

[b]mysql_query (conn,"INSERT INTO machado(nome) VALUES( "textBox3->Text");");[/b]




}
catch ( Exception e ){
	MessageBox::Show("Error");
}

mysql_close(conn);
		 
}

 

so q ele mi retorna o seguinte erro:

 

d:\documents and settings\usuario\meus documentos\minhas músicas\ololol\ololol\Form1.h(970) : error C2664: 'mysql_query' : cannot convert parameter 2 from 'System::String ^' to 'const char *'

No user-defined-conversion operator available, or

Cannot convert a managed type to an unmanaged type

grato a todos e uma boa tarde se alguem souber como fasso pra poder inserir o textbox direto para o mysql obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Será que ele não está tratando isso como uma string?

Faz assim, joga esse valor num char[] e joga o char na função para a gente ver.

 

Não entendo muito, + da uma lida: http://www.devarticles.com/c/a/Cplusplus/Building-a-Store-Application-With-MySQL-and-C/5/

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo eu fiz o seguinte :

 

Citação:

const char x[8] = "mackeyv" ;

 

 

conn = mysql_init(conn);
mysql_real_connect(conn,host,user,password,database,0,NULL,0);
if (!mysql_real_connect(conn,host,user,password,database,0,NULL,0)){
MessageBox::Show("Conexão com Banco de dados Falhou!");
}

mysql_query (conn,"INSERT INTO machado(nome) VALUES( '"+ x +"');");
if(!mysql_query (conn,"INSERT INTO machado(nome) VALUES( '');"))
{
MessageBox::Show("Inserção falhou");
}



mysql_close(conn);

ai quando eu mando inserir o 'x' ele mi volta esse erro aqui

 

Citação:

d:\documents and settings\usuario\meus documentos\ololol\ololol\Form1.h(993) : error C2679: binary '+' : no operator found which takes a right-hand operand of type 'const char *' (or there is no acceptable conversion)

could be 'built-in C++ operator+(volatile const System::Object ^, volatile const System::String ^)'

or 'built-in C++ operator+(volatile const System::String ^, volatile const System::Object ^)'

or 'built-in C++ operator+(volatile const System::String ^, volatile const System::String ^)'

while trying to match the argument list '(System::String ^, const char *)'

 

 

como eu fasso pra resolver isso ja to perdendo noite de sono mais n concigo incerir um text box ou entao uma constante uahuah grato e uma boa tarde, se você puder mi de algum exemplo de inserção em banco de dados de um textbox direto sem ter q passar por variaveis

Compartilhar este post


Link para o post
Compartilhar em outros sites

Velho e se você fazer isso no sprintf e depois jogar no mysql_query, assim:

 

char sQuery[256]; 
//
sprintf(sQuery, "INSERT INTO machado(nome) VALUES('%s')", x);
mysql_query (conn, sQuery);
//
if(mysql_query(pConnection, sQuery) != 0) MessageBox::Show("Inserção falhou");

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo eu fiz o seguinte :

 

Citação:

const char x[8] = "mackeyv" ;

 

 

conn = mysql_init(conn);
mysql_real_connect(conn,host,user,password,database,0,NULL,0);
if (!mysql_real_connect(conn,host,user,password,database,0,NULL,0)){
MessageBox::Show("Conexão com Banco de dados Falhou!");
}

mysql_query (conn,"INSERT INTO machado(nome) VALUES( '"+ x +"');");
if(!mysql_query (conn,"INSERT INTO machado(nome) VALUES( '');"))
{
MessageBox::Show("Inserção falhou");
}



mysql_close(conn);

 

ai quando eu mando inserir o 'x' ele mi volta esse erro aqui

 

Citação:

d:\documents and settings\usuario\meus documentos\ololol\ololol\Form1.h(993) : error C2679: binary '+' : no operator found which takes a right-hand operand of type 'const char *' (or there is no acceptable conversion)

could be 'built-in C++ operator+(volatile const System::Object ^, volatile const System::String ^)'

or 'built-in C++ operator+(volatile const System::String ^, volatile const System::Object ^)'

or 'built-in C++ operator+(volatile const System::String ^, volatile const System::String ^)'

while trying to match the argument list '(System::String ^, const char *)'

 

 

como eu fasso pra resolver isso ja to perdendo noite de sono mais n concigo incerir um text box ou entao uma constante uahuah grato e uma boa tarde, se você puder mi de algum exemplo de inserção em banco de dados de um textbox direto sem ter q passar por variaveis

 

Uma coisa "vesguin"... Em que programa você está desenvolvendo?!

 

Eu sou de Baixo Guandu, cidade vizinha a sua e também estou no 4º período do curso de TADS... estou programando no C++ Builder neste semestre, que no meu caso tem uma porção de ferramentas prontas para realizar as demais tarefas com a conexão com banco de dados.

 

No seu caso creio que as aspas simples pode estar diferenciando no seu desenvolvimento... manualmente eu faria assim:

mysql_query (conn,"INSERT INTO machado(nome) VALUES( "+ TextBox->Text +");");

 

Ou também não seja o "Text" a propriedade certa responsável pela opção escolhida... se é que me entende... verifique isso!!! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.