Insert data into postgreSQL with ODBC using c++

2020-05-06 10:34发布

问题:

I successfully establish the connection but no data is inserted and SQLExecDirect() returns -2. Please correct my code as I am using ODBC & PostgreSQL for the first time .

{
    SQLRETURN   result;
    SQLHENV     envHandle;
    SQLHDBC     conHandle;
    SQLHSTMT    hstmt;
    SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &envHandle);
    SQLSetEnvAttr(envHandle, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC2, 0);
    SQLAllocHandle(SQL_HANDLE_DBC, envHandle, &conHandle);
    result = SQLConnect(conHandle, dsn, SQL_NTS, username, SQL_NTS, password, SQL_NTS);
    if (result == SQL_SUCCESS || result == SQL_SUCCESS_WITH_INFO)

    {

        cout << ("connection ok...\n");
        wchar_t SQL_Query[94] = L"INSERT INTO public.trainee_details(t_name, t_age, t_qualification) VALUES('raaj', 24, 'MCA');";
        cout<<SQLExecDirect(hstmt, SQL_Query, SQL_NTS);
        return(0);
    }

    else

    {
        cout << ("connection failed...\n");
        return(-1);
    }