Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > MYSQL connector - проблема


Автор: Dy2h 14.7.2009, 12:58
День добрый,

Компилирую файл (Microsoft Visual C++ 6.0) , компилируется нормально 

Код

#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <sstream>

#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>

using namespace std;

int main(){

    sql::Driver *driver;
    sql::Connection *con;
    sql::Statement *stmt;
    sql::ResultSet *res;
    sql::PreparedStatement *pstmt;
    
    try{
        driver = get_driver_instance();
        con = driver->connect("tcp://127.0.0.1:3306", "root", "pwd");
        con->setSchema("mydb");
        stmt = con->createStatement();
        stmt->execute("insert into trans values(4,'four'),(5, 'five')");
        delete stmt;

        pstmt = con->prepareStatement("select * from trans");
        res = pstmt->executeQuery();
        while (res->next())
            cout << res->getInt("id")<<"  "<<res->getString("data") << endl;
        delete res;
        delete pstmt;

        pstmt = con->prepareStatement("delete from example where id=?");
        pstmt->setInt(1,4);
        pstmt->executeUpdate();
        pstmt->setInt(1,5);
        pstmt->executeUpdate();

        delete pstmt;

        delete con;    
    }catch(sql::SQLException &e){
        cout << e.what();
    }
    return 0;
}


но при запуске файла , выдаёт ошибку abnormal program termination , и как  мне удалось уточнить , то вылетает на  con->setSchema("mydb").

Пример использовал отсюда : http://codediaries.blogspot.com/2009/07/mysql-connector-c-example-windows-clexe.html .

Возможно проблема в старой версии коннектора ( http://dev.mysql.com/get/Downloads/Connector-C++/mysql-connector-c++-noinstall-1.0.5-win32.zip )? подскажите какой лучше использовать?

Автор: bsa 15.7.2009, 17:33
Рекомендую использовать:
Код
if (con == 0)
   throw std::runtime_error("Data base connection failed");
Перед первым использованием con.
Очень странный юрл: "tcp://127.0.0.1:3306"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)