2017-04-26 42 views
0

我是新来连接到MySQL对SQLAPI工作++。我已经安装了所有东西,例如MYSQL,SQLAPI ++,我使用Code:Block ++作为我的C++程序的编辑器。我试图连接到我在MYSQL中创建的数据库,但我无法完成。我看到以下错误当调用连接()写在SQLAPI ++无法使用SQLAPI ++

过程返回-1-73741819(0000005)执行时间:0.431s。

的MySQL是我的本地计算机上运行的端口号3306

int main(int argc, char* argv[]) 
{ 
    SAConnection con; 
    SACommand cmd; 
    int id =0; 
    string name = ""; 
    cout<<"Error Thrown"; 
    try 
    { 
     con.Connect ("sampledb", 
        "root", 
        "abcd", 
        SA_MySQL_Client); 
     std::cout<<"We are connected!\n"; 

     cout<<"Error Thrown"; 
     cmd.setConnection(&con); 

     cmd.setCommandText("SELECT * FROM sampledb.table1"); 
     cmd.Execute(); 

     while(cmd.FetchNext()) 
     { 
      id = cmd.Field("id").asLong(); 
      name = cmd.Field("name").asString(); 
      std::cout<<id; 
      std::cout<<name; 
     } 

     con.Commit(); 

     con.Disconnect(); 
     std::cout<<"We are disconnected!\n"; 
    } 

    catch(SAException &x) 
    { 

     try 
     { 

      con.Rollback(); 
     } 
     catch(SAException &) 
     { 
     } 

     std::cout<<"Printing Error Text"; 
     printf("%s\n", (const char*)x.ErrText()); 
    } 
    return 0; 
} 

代码编译成功。我目前在Windows 10机器上运行。我想知道上面的代码有什么问题。我对在Connect函数中提到数据库地址的方式有疑问,或者似乎是其他问题?

回答

0

我试着重新安装了一切。这次我使用了CodeBlock 10.0.5,MySQL 5.5和MySqlConnector C++ 1.1,这次它没有任何问题。可能这是一个兼容性问题,它引起了例外。早些时候,我曾与SQL连接器一起安装和最新版本的代码块,即16的MySQL 5.7