⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 error.c

📁 在Linux/Unix下面访问WINDOWS SQLSERVER 的ODBC驱动程序
💻 C
字号:
#include "common.h"/* some tests on error reporting */static char software_version[] = "$Id: error.c,v 1.3 2004/05/22 17:25:27 freddy77 Exp $";static void *no_unused_var_warn[] = { software_version, no_unused_var_warn };static SQLCHAR output[256];static void ReadError(void);static voidReadError(void){	if (!SQL_SUCCEEDED(SQLGetDiagRec(SQL_HANDLE_STMT, Statement, 1, NULL, NULL, output, sizeof(output), NULL))) {		printf("SQLGetDiagRec should not fail\n");		exit(1);	}	printf("Message: %s\n", output);}intmain(int argc, char *argv[]){	SQLRETURN retcode;	HSTMT stmt, tmp_stmt;	Connect();	/* create a test table */	Command(Statement, "create table #tmp (i int)");	Command(Statement, "insert into #tmp values(3)");	Command(Statement, "insert into #tmp values(4)");	Command(Statement, "insert into #tmp values(5)");	Command(Statement, "insert into #tmp values(6)");	Command(Statement, "insert into #tmp values(7)");	/* issue our command */	retcode = CommandWithResult(Statement, "select 100 / (i - 5) from #tmp order by i");	/* special case, Sybase detect error early */	if (retcode != SQL_ERROR || db_is_microsoft()) {		if (retcode != SQL_SUCCESS)			ODBC_REPORT_ERROR("Error in command");		/* TODO when multiple row fetch available test for error on some columns */		if (SQLFetch(Statement) != SQL_SUCCESS)			ODBC_REPORT_ERROR("SQLFetch failed when it shouldn't");		if (SQLFetch(Statement) != SQL_SUCCESS)			ODBC_REPORT_ERROR("SQLFetch failed when it shouldn't");		if (SQLFetch(Statement) != SQL_ERROR)			ODBC_REPORT_ERROR("SQLFetch succeed when it shouldn't");	}	ReadError();	if (!strstr((char *) output, "zero")) {		printf("Message invalid\n");		return 1;	}	SQLFetch(Statement);	SQLFetch(Statement);	SQLFetch(Statement);	SQLMoreResults(Statement);	if (SQLAllocStmt(Connection, &stmt) != SQL_SUCCESS)		ODBC_REPORT_ERROR("Unable to allocate statement");	Command(Statement, "SELECT * FROM sysobjects");	if (CommandWithResult(stmt, "SELECT * FROM sysobjects") != SQL_ERROR)		ODBC_REPORT_ERROR("Error expected");	tmp_stmt = Statement;	Statement = stmt;	ReadError();	Disconnect();	printf("Done.\n");	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -