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

📄 t0012.c

📁 在Linux/Unix下面访问WINDOWS SQLSERVER 的ODBC驱动程序
💻 C
字号:
/*  * Purpose: Test datetime conversion as well as dbdata() & dbdatlen() * Functions: dbcmd dbdata dbdatecrack dbdatlen dbnextrow dbresults dbsqlexec */#include "common.h"static char software_version[] = "$Id: t0012.c,v 1.21 2007/01/15 02:00:58 jklowden Exp $";static void *no_unused_var_warn[] = { software_version, no_unused_var_warn };int failed = 0;intmain(int argc, char *argv[]){	LOGINREC *login;	DBPROCESS *dbproc;	char cmd[512];	char sqlCmd[256];	char datestring[256];	DBDATEREC dateinfo;	DBDATETIME mydatetime;	set_malloc_options();	read_login_info(argc, argv);	fprintf(stdout, "Start\n");	dbinit();	dberrhandle(syb_err_handler);	dbmsghandle(syb_msg_handler);	fprintf(stdout, "About to logon\n");	login = dblogin();	DBSETLPWD(login, PASSWORD);	DBSETLUSER(login, USER);	DBSETLAPP(login, "t0012");	dbproc = dbopen(login, SERVER);	if (strlen(DATABASE)) {		dbuse(dbproc, DATABASE);	}	dbloginfree(login);	fprintf(stdout, "After logon\n");	fprintf(stdout, "creating table\n");	dbcmd(dbproc, "create table #dblib0012 (dt datetime not null)");	dbsqlexec(dbproc);	while (dbresults(dbproc) == SUCCEED) {		/* nop */	}	sprintf(cmd, "insert into #dblib0012 values ('Feb 27 2001 10:24:35:056AM')");	fprintf(stdout, "%s\n", cmd);	dbcmd(dbproc, cmd);	dbsqlexec(dbproc);	while (dbresults(dbproc) == SUCCEED) {		/* nop */	}	sprintf(cmd, "insert into #dblib0012 values ('Dec 25 1898 07:30:00:567PM')");	fprintf(stdout, "%s\n", cmd);	dbcmd(dbproc, cmd);	dbsqlexec(dbproc);	while (dbresults(dbproc) == SUCCEED) {		/* nop */	}	sprintf(sqlCmd, "SELECT dt FROM #dblib0012");	dbcmd(dbproc, sqlCmd);	dbsqlexec(dbproc);	dbresults(dbproc);	while (dbnextrow(dbproc) != NO_MORE_ROWS) {		/* Print the date info  */		dbconvert(dbproc, dbcoltype(dbproc, 1), dbdata(dbproc, 1), dbdatlen(dbproc, 1), SYBCHAR, (BYTE*) datestring, -1);		printf("%s\n", datestring);		/* Break up the creation date into its constituent parts */		memcpy(&mydatetime, (DBDATETIME *) (dbdata(dbproc, 1)), sizeof(DBDATETIME));		dbdatecrack(dbproc, &dateinfo, &mydatetime);		/* Print the parts of the creation date */#ifdef MSDBLIB		printf("\tYear = %d.\n", dateinfo.year);		printf("\tMonth = %d.\n", dateinfo.month);		printf("\tDay of month = %d.\n", dateinfo.day);		printf("\tDay of year = %d.\n", dateinfo.dayofyear);		printf("\tDay of week = %d.\n", dateinfo.weekday);		printf("\tHour = %d.\n", dateinfo.hour);		printf("\tMinute = %d.\n", dateinfo.minute);		printf("\tSecond = %d.\n", dateinfo.second);		printf("\tMillisecond = %d.\n", dateinfo.millisecond);#else		printf("\tYear = %d.\n", dateinfo.dateyear);		printf("\tMonth = %d.\n", dateinfo.datemonth);		printf("\tDay of month = %d.\n", dateinfo.datedmonth);		printf("\tDay of year = %d.\n", dateinfo.datedyear);		printf("\tDay of week = %d.\n", dateinfo.datedweek);		printf("\tHour = %d.\n", dateinfo.datehour);		printf("\tMinute = %d.\n", dateinfo.dateminute);		printf("\tSecond = %d.\n", dateinfo.datesecond);		printf("\tMillisecond = %d.\n", dateinfo.datemsecond);#endif	}	dbclose(dbproc);	dbexit();	fprintf(stdout, "dblib %s on %s\n", (failed ? "failed!" : "okay"), __FILE__);	free_bread_crumb();	return failed ? 1 : 0;}

⌨️ 快捷键说明

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