40 #define FILL(s, n) do { \
41 int _n; for (_n = 0; _n < sizeof(s)/sizeof(s[0]); ++_n) s[_n] = n; \
53 printf(
"num_row %ld statuses[0] %d statuses[1] %d odbc3 %d\n", (
long int) num_row,
58 fprintf(stderr,
"result error 1\n");
62 if (
data[0].
i != 1 ||
data[1].
i != 0xdeadbeef) {
63 fprintf(stderr,
"result error 2\n");
81 odbc_command(
"CREATE TABLE #cursor6_test (i INT, c VARCHAR(20))");
82 for (
i = 1;
i <= 10; ++
i) {
83 sprintf(
sql,
"INSERT INTO #cursor6_test(i,c) VALUES(%d, 'a%db%dc%d')",
i,
i,
i,
i);
90 main(
int argc,
char *argv[])
99 #define ALL(n) for (n = 0; n < 2; ++n)
#define CHKPrepare(a, b, res)
#define odbc_reset_statement()
#define odbc_command(cmd)
#define CHKBindCol(a, b, c, d, e, res)
#define CHKFetchScroll(a, b, res)
#define CHKSetStmtAttr(a, b, c, res)
static SQLRETURN odbc_connect(TDS_DBC *dbc, TDSLOGIN *login)
void odbc_check_cursor(void)
int odbc_disconnect(void)
int main(int argc, char *argv[])
#define SQL_ATTR_ROWS_FETCHED_PTR
#define SQL_ATTR_ROW_ARRAY_SIZE
#define SQL_ATTR_ROW_STATUS_PTR
#define SQL_CONCUR_READ_ONLY
#define SQL_ATTR_CURSOR_TYPE
#define SQL_ATTR_ROW_BIND_TYPE
#define SQL_ATTR_CONCURRENCY
#define SQL_CURSOR_STATIC
unsigned short SQLUSMALLINT