vesguin 0 Denunciar post Postado Setembro 14, 2010 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
quitZAUMMM 18 Denunciar post Postado Setembro 14, 2010 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
vesguin 0 Denunciar post Postado Setembro 16, 2010 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
quitZAUMMM 18 Denunciar post Postado Setembro 17, 2010 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
Leox 2 Denunciar post Postado Dezembro 13, 2010 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