XGCI参数绑定
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include "xuguci.h"
#define CMD_LEN 2048
//int main5()
int main(int argc, CHAR* argv[])
{
//变量申明
char username[]="SYSDBA";
char password[]="SYSDBA";
XuguCIHANDLE hdenv ;
XuguCIHANDLE hdsver ;
XuguCIHANDLE hddbc ;
XuguCIHANDLE hdstmt ;
//初始化环境
int * ver=(int*)malloc(4);
*(int*)ver = XuguCI_ATTR_ENV_VERSION;
char* ip_str=strdup("192.168.1.203");
short* port=(short*)malloc(2);
*port=5138;
int * charset=(int*)malloc(4);
*charset=XuguCI_CHARSET_GBK;
int* isol=(int*)malloc(4);
* isol=XuguCI_ISO_READCOMMIT;
int * ze=(int*)malloc(4);
*ze=XuguCI_USESSL_FALSE;
char* db_name=strdup("SYSTEM");
int* comit =(int*)malloc(4);
* comit =XuguCI_AUTOCOMMIT_ON;
int * timout=(int*)malloc(4);
*timout=60000;
XuguCIHandleAlloc(NULL,&hdenv,HT_ENV);
XuguCIHandleAttrSet(hdenv,1,(XuguCIPOINTER)ver,-1);
XuguCIHandleAlloc(hdenv,&hdsver,HT_SERVER);
XuguCIHandleAttrSet(hdsver,XuguCI_ATTR_SRV_IP,ip_str,XuguCI_NTS);//ip"192.168.10.81"
XuguCIHandleAttrSet(hdsver,XuguCI_ATTR_SRV_PORT,(short*)port,XuguCI_NTS);
XuguCIHandleAttrSet(hdsver, XuguCI_ATTR_SRV_DBNAME,db_name,XuguCI_NTS);//"SYSTEM"
//建立连接
XuguCIHandleAlloc(hdsver,&hddbc,HT_SESSION);
XuguCIHandleAttrSet(hddbc,XuguCI_ATTR_SESS_TIMEZONE,"GMT+08:00",XuguCI_NTS);//时区设定
XuguCIHandleAttrSet(hddbc,XuguCI_ATTR_SESS_ENCRYPTOR,NULL,-1);//磁盘加密,此处不加密
XuguCIHandleAttrSet(hddbc,XuguCI_ATTR_SESS_CHARSET,(int*)charset,XuguCI_NTS);//设置客户端字符集
XuguCIHandleAttrSet(hddbc,XuguCI_ATTR_SESS_ISOLEVEL,(int*)isol,XuguCI_NTS);//设置隔离级别
XuguCIHandleAttrSet(hddbc,XuguCI_ATTR_SESS_SSL,(int*)ze,XuguCI_NTS);//网络加密传输
XuguCIHandleAttrSet(hddbc,XuguCI_ATTR_SESS_AUTO_COMMIT,(int*)ver,XuguCI_NTS);//自动提交 XuguCI_AUTOCOMMIT_ON
XuguCIHandleAttrSet(hddbc,XuguCI_ATTR_SESS_TIMEOUT,(int*)timout,XuguCI_NTS);//会话超时
int ret= XuguCISessionBegin(hddbc,(char*)username,(char*)password);//建立会话连接
//body begin
char sqlcmd[] = "insert into rdb_qc_surf_area1 ( V12211 ,V12212 ,V13023 ,V01001,V04002) values (:b1,:b2,:b3, :b4 ,:b5) ";
// five param 3 out 2 in
ret=XuguCIHandleAlloc(hddbc,&(hdstmt),HT_STATEMENT );
int t_areaNum = 50;
int t_month = 1;
float imax=56.6,imin=23.66,iPrcpttnMax=99.68;
int clen1=4,clen2=4,clen3=4,clen4=4,clen5=4;
int rp2;
int rs2=XuguCIPrepare(hdstmt,sqlcmd,XuguCI_NTS);
XuguCIBindParamByName(hdstmt,"b1",PARAM_IN,&(imax),4,Xugu_C_FLOAT,&rp2,&clen1,SQL_FLOAT);
XuguCIBindParamByName(hdstmt,"b2",PARAM_IN,&(imin),4,Xugu_C_FLOAT,&rp2,&clen2,SQL_FLOAT);
XuguCIBindParamByName(hdstmt,"b3",PARAM_IN,&(iPrcpttnMax),4,Xugu_C_FLOAT,&rp2,&clen3,SQL_FLOAT);
XuguCIBindParamByName(hdstmt,"b4",PARAM_IN,&t_areaNum,4,Xugu_C_INTEGER,&rp2,&clen4,SQL_INTEGER);
XuguCIBindParamByName(hdstmt,"b5",PARAM_IN,&t_month,4,Xugu_C_INTEGER,&rp2,&clen5,SQL_INTEGER);
rs2=XuguCIExecute(hdstmt);
printf("imax:%f ,imin:%f ,iPrcpttnMAX: %f \n",imax,imin,iPrcpttnMax);
ret=XuguCIFreeStmt(hdstmt,Xugu_RESET);
//完成调用后关闭连接:
ret=XuguCISessionEnd(hddbc);
//释放连接以及环境
XuguCIHandleFree(hddbc);
XuguCIHandleFree(hdsver); //HT_SERVER
XuguCIHandleFree(hdenv);//HT_ENV
return 0;
}