亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rpc_ct_setparam.c

?? 在Linux/Unix下面訪問WINDOWS SQLSERVER 的ODBC驅動程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
#if HAVE_CONFIG_H#include <config.h>#endif /* HAVE_CONFIG_H */#include <stdio.h>#if HAVE_STDLIB_H#include <stdlib.h>#endif /* HAVE_STDLIB_H */#if HAVE_STRING_H#include <string.h>#endif /* HAVE_STRING_H */#include <ctpublic.h>#include "common.h"#define MAX(X,Y)      (((X) > (Y)) ? (X) : (Y))#define MIN(X,Y)      (((X) < (Y)) ? (X) : (Y))static char software_version[] = "$Id: rpc_ct_setparam.c,v 1.9 2006/12/29 19:00:33 freddy77 Exp $";static void *no_unused_var_warn[] = { software_version, no_unused_var_warn };CS_RETCODE ex_clientmsg_cb(CS_CONTEXT * context, CS_CONNECTION * connection, CS_CLIENTMSG * errmsg);CS_RETCODE ex_servermsg_cb(CS_CONTEXT * context, CS_CONNECTION * connection, CS_SERVERMSG * errmsg);static CS_RETCODE ex_display_header(CS_INT numcols, CS_DATAFMT columns[]);static CS_INT ex_display_dlen(CS_DATAFMT *column);static CS_INT ex_display_results(CS_COMMAND * cmd);typedef struct _ex_column_data{	CS_SMALLINT indicator;	CS_CHAR *value;	CS_INT valuelen;}EX_COLUMN_DATA;/* Testing: array binding of result set */intmain(int argc, char *argv[]){	CS_CONTEXT *ctx;	CS_CONNECTION *conn;	CS_COMMAND *cmd;	int verbose = 0;	CS_RETCODE ret;	CS_INT datalength;	CS_SMALLINT nullind;	CS_SMALLINT notnullind;	CS_CHAR cmdbuf[4096];	CS_DATAFMT datafmt;	CS_DATAFMT srcfmt;	CS_DATAFMT destfmt;	CS_INT intvar;	CS_SMALLINT smallintvar;	CS_FLOAT floatvar;	CS_MONEY moneyvar;	CS_BINARY binaryvar;	char moneystring[10];	char rpc_name[15];	CS_INT destlen;	fprintf(stdout, "%s: submit a stored procedure using ct_setparam \n", __FILE__);	if (verbose) {		fprintf(stdout, "Trying login\n");	}	ret = try_ctlogin(&ctx, &conn, &cmd, verbose);	if (ret != CS_SUCCEED) {		fprintf(stderr, "Login failed\n");		return 1;	}	ct_callback(ctx, NULL, CS_SET, CS_CLIENTMSG_CB, (CS_VOID *) ex_clientmsg_cb);	ct_callback(ctx, NULL, CS_SET, CS_SERVERMSG_CB, (CS_VOID *) ex_servermsg_cb);	/* do not test error */	ret = run_command(cmd, "IF EXISTS(SELECT * FROM SYSOBJECTS WHERE name = 'sample_rpc' AND type = 'P') DROP PROCEDURE sample_rpc");	strcpy(cmdbuf, "create proc sample_rpc (@intparam int, \        @sintparam smallint output, @floatparam float output, \        @moneyparam money output,  \        @dateparam datetime output, @charparam char(20) output, \        @binaryparam    binary(20) output) \        as ");	strcat(cmdbuf, "select @intparam, @sintparam, @floatparam, @moneyparam, \        @dateparam, @charparam, @binaryparam \        select @sintparam = @sintparam + @intparam \        select @floatparam = @floatparam + @intparam \        select @moneyparam = @moneyparam + convert(money, @intparam) \        select @dateparam = getdate() \        select @charparam = \'The char parameters\' \        select @binaryparam = @binaryparam \        print \'This is the message printed out by sample_rpc.\'");	ret = run_command(cmd, cmdbuf);	if (ret != CS_SUCCEED) {		fprintf(stderr, "create proc failed\n");		return 1;	}	/*	 * Assign values to the variables used for parameter passing.	 */	intvar = 2;	smallintvar = 234;	floatvar = 0.12;	binaryvar = (CS_BINARY) 0xff;	strcpy(rpc_name, "sample_rpc");	strcpy(moneystring, "300.90");	/*	 * Clear and setup the CS_DATAFMT structures used to convert datatypes.	 */	memset(&srcfmt, 0, sizeof(CS_DATAFMT));	srcfmt.datatype = CS_CHAR_TYPE;	srcfmt.maxlength = strlen(moneystring);	srcfmt.precision = 5;	srcfmt.scale = 2;	srcfmt.locale = NULL;	memset(&destfmt, 0, sizeof(CS_DATAFMT));	destfmt.datatype = CS_MONEY_TYPE;	destfmt.maxlength = sizeof(CS_MONEY);	destfmt.precision = 5;	destfmt.scale = 2;	destfmt.locale = NULL;	/*	 * Convert the string representing the money value	 * to a CS_MONEY variable. Since this routine does not have the	 * context handle, we use the property functions to get it.	 */	if ((ret = ct_cmd_props(cmd, CS_GET, CS_PARENT_HANDLE, &conn, CS_UNUSED, NULL)) != CS_SUCCEED) {		fprintf(stderr, "ct_cmd_props() failed");		return 1;	}	if ((ret = ct_con_props(conn, CS_GET, CS_PARENT_HANDLE, &ctx, CS_UNUSED, NULL)) != CS_SUCCEED) {		fprintf(stderr, "ct_con_props() failed");		return 1;	}	ret = cs_convert(ctx, &srcfmt, (CS_VOID *) moneystring, &destfmt, &moneyvar, &destlen);	if (ret != CS_SUCCEED) {		fprintf(stderr, "cs_convert() failed");		return 1;	}	/*	 * Send the RPC command for our stored procedure.	 */	if ((ret = ct_command(cmd, CS_RPC_CMD, rpc_name, CS_NULLTERM, CS_NO_RECOMPILE)) != CS_SUCCEED) {		fprintf(stderr, "ct_command(CS_RPC_CMD) failed");		return 1;	}	nullind    = -1;	notnullind = 0;	/*	 * Clear and setup the CS_DATAFMT structure, then pass	 * each of the parameters for the RPC.	 */	memset(&datafmt, 0, sizeof(datafmt));	strcpy(datafmt.name, "@intparam");	datafmt.namelen = CS_NULLTERM;	datafmt.datatype = CS_INT_TYPE;	datafmt.maxlength = CS_UNUSED;	datafmt.status = CS_INPUTVALUE;	datafmt.locale = NULL;	datalength = CS_SIZEOF(CS_INT);	if ((ret = ct_setparam(cmd, &datafmt, (CS_VOID *) & intvar, &datalength, &notnullind)) != CS_SUCCEED) {		fprintf(stderr, "ct_setparam(int) failed");		return 1;	}	strcpy(datafmt.name, "@sintparam");	datafmt.namelen = CS_NULLTERM;	datafmt.datatype = CS_SMALLINT_TYPE;	datafmt.maxlength = 255;	datafmt.status = CS_RETURN;	datafmt.locale = NULL;	datalength = CS_SIZEOF(CS_SMALLINT);	if ((ret = ct_setparam(cmd, &datafmt, (CS_VOID *) & smallintvar, &datalength, &notnullind)) != CS_SUCCEED) {		fprintf(stderr, "ct_setparam(smallint) failed");		return 1;	}	strcpy(datafmt.name, "@floatparam");	datafmt.namelen = CS_NULLTERM;	datafmt.datatype = CS_FLOAT_TYPE;	datafmt.maxlength = 255;	datafmt.status = CS_RETURN;	datafmt.locale = NULL;	datalength = CS_SIZEOF(CS_FLOAT);	if ((ret = ct_setparam(cmd, &datafmt, (CS_VOID *) & floatvar, &datalength, &notnullind)) != CS_SUCCEED) {		fprintf(stderr, "ct_setparam(float) failed");		return 1;	}	strcpy(datafmt.name, "@moneyparam");	datafmt.namelen = CS_NULLTERM;	datafmt.datatype = CS_MONEY_TYPE;	datafmt.maxlength = 255;	datafmt.status = CS_RETURN;	datafmt.locale = NULL;	datalength = CS_SIZEOF(CS_MONEY);	if ((ret = ct_setparam(cmd, &datafmt, (CS_VOID *) & moneyvar, &datalength, &notnullind)) != CS_SUCCEED) {		fprintf(stderr, "ct_setparam(money) failed");		return 1;	}	strcpy(datafmt.name, "@dateparam");	datafmt.namelen = CS_NULLTERM;	datafmt.datatype = CS_DATETIME4_TYPE;	datafmt.maxlength = 255;	datafmt.status = CS_RETURN;	datafmt.locale = NULL;	/*	 * The datetime variable is filled in by the RPC so pass NULL for	 * the data, 0 for data length, and -1 for the indicator arguments.	 */	datalength = 0;	if ((ret = ct_setparam(cmd, &datafmt, NULL, &datalength, &nullind)) != CS_SUCCEED) {		fprintf(stderr, "ct_setparam(datetime4) failed");		return 1;	}	strcpy(datafmt.name, "@charparam");	datafmt.namelen = CS_NULLTERM;	datafmt.datatype = CS_CHAR_TYPE;	datafmt.maxlength = 60;	datafmt.status = CS_RETURN;	datafmt.locale = NULL;	datalength = 0;	/*	 * The character string variable is filled in by the RPC so pass NULL	 * for the data 0 for data length, and -1 for the indicator arguments.	 */	if ((ret = ct_setparam(cmd, &datafmt, NULL, &datalength, &nullind)) != CS_SUCCEED) {		fprintf(stderr, "ct_setparam(char) failed");		return 1;	}	strcpy(datafmt.name, "@binaryparam");	datafmt.namelen = CS_NULLTERM;	datafmt.datatype = CS_BINARY_TYPE;	datafmt.maxlength = 255;	datafmt.status = CS_RETURN;	datafmt.locale = NULL;	datalength = CS_SIZEOF(CS_BINARY);	nullind = -1;	if ((ret = ct_setparam(cmd, &datafmt, (CS_VOID *) & binaryvar, &datalength, &notnullind)) != CS_SUCCEED) {		fprintf(stderr, "ct_setparam(binary) failed");		return 1;	}	/*	 * Send the command to the server	 */	if (ct_send(cmd) != CS_SUCCEED) {		fprintf(stderr, "ct_send(RPC) failed");		return 1;	}	ret = ex_display_results(cmd);	if (ret != CS_SUCCEED) {		fprintf(stderr, "ex_display_results failed\n");		return 1;	}	intvar = 3;	if (ct_send(cmd) != CS_SUCCEED) {		fprintf(stderr, "ct_send(RPC) failed");		return 1;	}	ret = ex_display_results(cmd);	if (ret != CS_SUCCEED) {		fprintf(stderr, "ex_display_results failed\n");		return 1;	}	run_command(cmd, "DROP PROCEDURE sample_rpc");	if (verbose) {		fprintf(stdout, "Trying logout\n");	}	ret = try_ctlogout(ctx, conn, cmd, verbose);	if (ret != CS_SUCCEED) {		fprintf(stderr, "Logout failed\n");		return 1;	}	return 0;}static CS_INTex_display_results(CS_COMMAND * cmd){CS_RETCODE ret;CS_INT res_type;CS_INT num_cols;EX_COLUMN_DATA *coldata;CS_DATAFMT *outdatafmt;CS_INT row_count = 0;CS_INT rows_read;CS_INT disp_len;CS_SMALLINT msg_id;int i, j;	/*	 * Process the results of the RPC.	 */	while ((ret = ct_results(cmd, &res_type)) == CS_SUCCEED) {		switch ((int) res_type) {		case CS_ROW_RESULT:		case CS_PARAM_RESULT:		case CS_STATUS_RESULT:			/*			 * Print the result header based on the result type.			 */			switch ((int) res_type) {			case CS_ROW_RESULT:				fprintf(stdout, "\nROW RESULTS\n");				break;			case CS_PARAM_RESULT:				fprintf(stdout, "\nPARAMETER RESULTS\n");				break;			case CS_STATUS_RESULT:				fprintf(stdout, "\nSTATUS RESULTS\n");				break;			}			fflush(stdout);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产日韩亚洲一区| 国产成+人+日韩+欧美+亚洲| 国产毛片精品国产一区二区三区| www.久久久久久久久| 制服丝袜一区二区三区| 亚洲欧美激情一区二区| 美女诱惑一区二区| 欧美日韩精品一区二区三区四区 | 亚洲二区在线观看| 国产69精品一区二区亚洲孕妇| 欧美日韩国产乱码电影| 亚洲三级在线免费观看| 激情文学综合丁香| 91精品啪在线观看国产60岁| 亚洲精品国产高清久久伦理二区| 韩国av一区二区三区在线观看| 欧美日韩国产一区| 亚洲精品国产无天堂网2021| 成人av午夜电影| 国产网站一区二区三区| 麻豆极品一区二区三区| 91精品国产综合久久久久久漫画| 国产精品免费久久| 五月婷婷综合在线| av不卡一区二区三区| 久久精品一二三| 黑人精品欧美一区二区蜜桃| 日韩一区二区三区三四区视频在线观看 | 日韩黄色小视频| 欧美性猛交xxxx乱大交退制版| 亚洲色图制服诱惑| 色综合中文综合网| 国产麻豆精品在线| 精品国产一区二区三区四区四| 五月综合激情网| 欧美精品成人一区二区三区四区| 亚洲综合成人在线视频| 欧美三片在线视频观看| 亚洲成a人片在线观看中文| 欧美日韩成人一区| 日本中文在线一区| 日韩精品中文字幕一区| 极品少妇xxxx精品少妇偷拍| 久久精品免费在线观看| 不卡av在线免费观看| 依依成人综合视频| 欧美日韩国产一区| 久久99精品网久久| 国产精品久久久久三级| 色8久久精品久久久久久蜜| 午夜精品123| 精品国产123| 99久久久无码国产精品| 亚洲午夜精品久久久久久久久| 欧美日韩电影在线播放| 韩国三级中文字幕hd久久精品| 国产网红主播福利一区二区| 91香蕉视频在线| 亚洲h在线观看| 久久久久亚洲蜜桃| 99精品在线免费| 天天影视涩香欲综合网| 久久免费国产精品| 色噜噜久久综合| 久久99这里只有精品| 日韩毛片精品高清免费| 777a∨成人精品桃花网| 国产激情视频一区二区在线观看| 亚洲男帅同性gay1069| 91精品国产综合久久香蕉麻豆 | 日韩国产欧美在线视频| 久久久精品黄色| 欧美日韩一区二区电影| 国产二区国产一区在线观看| 亚洲一区二区三区四区在线观看 | 亚洲人成网站精品片在线观看| 欧美一区二区三区小说| 成人黄色a**站在线观看| 日韩经典一区二区| 亚洲三级电影全部在线观看高清| 欧美一级黄色片| 99久久免费国产| 国内精品伊人久久久久av一坑| 亚洲一区二区三区影院| www国产亚洲精品久久麻豆| 欧美亚洲综合另类| 国产成人精品免费网站| 日韩va欧美va亚洲va久久| 国产精品成人在线观看| 精品国精品自拍自在线| 欧美日韩高清一区二区三区| 97国产一区二区| 国内不卡的二区三区中文字幕| 婷婷成人激情在线网| 亚洲理论在线观看| 国产精品传媒入口麻豆| 国产欧美一区二区精品性色| 亚洲伊人色欲综合网| 欧美系列日韩一区| 99re66热这里只有精品3直播 | 久久久精品综合| 精品久久久久久久久久久久久久久久久 | 亚洲视频在线观看一区| 久久女同性恋中文字幕| 日韩精品自拍偷拍| 欧美大片在线观看一区二区| 欧美一区三区四区| 欧美美女喷水视频| 欧美私模裸体表演在线观看| 91毛片在线观看| 99久久综合99久久综合网站| 成人黄色a**站在线观看| 成人午夜看片网址| 国产精品综合一区二区三区| 国产一区中文字幕| 国产精品亚洲一区二区三区妖精| 国内精品视频666| 久久99精品久久久久| 国产麻豆91精品| 高清不卡在线观看av| 高清在线成人网| 99re在线精品| 色老头久久综合| 欧美日本国产一区| 欧美一区日本一区韩国一区| 日韩欧美国产三级电影视频| www亚洲一区| 中文字幕一区日韩精品欧美| 亚洲女女做受ⅹxx高潮| 亚洲免费在线视频一区 二区| 一区二区三区资源| 午夜精品久久久久久久99水蜜桃| 日韩电影在线观看一区| 国产美女精品在线| 99久久国产免费看| 欧美日韩三级一区| 欧美不卡在线视频| 中文字幕亚洲区| 午夜精品福利视频网站| 黄色资源网久久资源365| 成人高清免费在线播放| 亚洲天堂2014| 国产欧美一区二区精品仙草咪| 亚洲视频一区二区免费在线观看| 亚洲一区二区三区激情| 麻豆精品视频在线观看| 成人精品国产一区二区4080| 色悠久久久久综合欧美99| 911精品产国品一二三产区| 久久免费电影网| 一区二区国产视频| 国内不卡的二区三区中文字幕| av在线一区二区三区| 欧美日韩国产一区二区三区地区| 欧美精品一区二区三区久久久| 国产精品久久久久久久久久免费看 | 日韩精品一级二级| 国产一本一道久久香蕉| 欧美亚洲国产bt| 久久人人超碰精品| 亚洲午夜精品网| 懂色av一区二区夜夜嗨| 欧美日韩久久不卡| 国产精品你懂的在线| 日本中文字幕一区二区视频| 9i看片成人免费高清| 欧美一卡2卡三卡4卡5免费| 综合电影一区二区三区| 日韩电影免费一区| 成人美女视频在线看| 日韩欧美中文字幕制服| 亚洲永久免费视频| 成人国产精品免费| 亚洲精品一区二区在线观看| 午夜久久久久久电影| 99国产精品国产精品毛片| 久久综合资源网| 男女性色大片免费观看一区二区| 99re这里只有精品首页| 国产亚洲成年网址在线观看| 奇米影视一区二区三区小说| 欧美精品一二三| 自拍偷拍亚洲激情| 高清不卡在线观看| 久久九九影视网| 麻豆专区一区二区三区四区五区| 在线观看三级视频欧美| 亚洲色图一区二区三区| 成人激情黄色小说| 国产欧美视频一区二区三区| 国产一区二区剧情av在线| 日韩视频免费直播| 日本成人在线视频网站| 欧美日韩在线三级| 亚洲一卡二卡三卡四卡五卡| 色哟哟精品一区| 一区二区三区中文字幕电影| 91看片淫黄大片一级在线观看| 中文字幕亚洲一区二区va在线| 成人久久视频在线观看|