From: | Scot Loach <sloach(at)SANDVINE(dot)com> |
---|---|
To: | "'pgsql-odbc(at)postgresql(dot)org'" <pgsql-odbc(at)postgresql(dot)org> |
Subject: | 64-bit type in SQLBindParameter |
Date: | 2002-10-22 15:31:08 |
Message-ID: | FE045D4D9F7AED4CBFF1B3B813C85337E5F2DA@mail.sandvine.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
Is it possible to use 64-bit types for bound queries?
Here's my setup:
FreeBSD 4.7
UnixODBC 2.2.0
PostgreSQL 7.2.1
PostgreSQL/UnixODBC driver 7.2.1
I'm using the BIGINT type for my column.
The program below prints out the error message:
[unixODBC]Error while executing the query;
ERROR: parser: parse error at or near ")"
It works if I change the SQL_BIGINT to SQL_INTEGER, but it only uses 32 bits
of the number in that case.
#include <stdio.h>
#include <sql.h>
#include <sqlext.h>
main()
{
SQLHENV env;
SQLHDBC dbc;
SQLINTEGER val = 0;
unsigned long long ll = 6000000000;
SQLAllocEnv(&env);
SQLAllocConnect(env, &dbc);
SQLConnect(dbc, (SQLCHAR*)"my_db", SQL_NTS, (SQLCHAR*)0, 0, (SQLCHAR*)0,
0);
SQLCHAR sql[] = "INSERT INTO my_table (my_column) VALUES (?)";
HSTMT hstmt;
SQLAllocStmt(dbc, &hstmt);
SQLPrepare(hstmt, sql, SQL_NTS);
SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_DEFAULT, SQL_BIGINT,
0, 0, &ll, 0, &val);
int rv = SQLExecute(hstmt);
if (rv == SQL_ERROR)
{
SQLCHAR err[6];
SQLCHAR msg[SQL_MAX_MESSAGE_LENGTH + 1];
SQLINTEGER e;
SQLSMALLINT sz;
SQLError(0, 0, hstmt, err, &e, msg, SQL_MAX_MESSAGE_LENGTH, &sz);
printf("%s\n", msg);
}
}
Any suggestions are appreciated!
scot.
From | Date | Subject | |
---|---|---|---|
Next Message | Patrick Hatcher | 2002-10-23 18:20:57 | Crystal Reports image field is defined as text? |
Previous Message | Ben Litchfield | 2002-10-18 14:43:33 | Characters inserted into select statement |