0

我是使用 SQLAPI++ 的新手。我已经安装了所有东西,即 MYSQL、SQLAPI++,并且我正在使用 Code:Block++ 作为我的 C++ 程序的编辑器。我试图连接到我在 MYSQL 中创建的数据库,但我无法连接。当我调用用 SQLAPI++ 编写的 Connect() 时,我看到以下错误

进程返回-1-73741819(0xC0000005) 执行时间: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 函数中提到数据库地址的方式有疑问,或者它似乎是其他问题?

4

1 回答 1

0

我尝试重新安装所有内容。这次我使用了 CodeBlock 10.0.5、MySQL 5.5 和 MySqlConnector C++ 1.1,这一次它没有任何问题。可能是之前的兼容性问题导致了异常。早些时候我已经安装了最新版本的 CodeBlock,即 16 和 MySQL 5.7 以及 SQL 连接器

于 2017-06-17T07:26:28.133 回答