DM API和OCI编程方式比较
2008-09-03 12:50:56 来源:WEB开发网3. 参数绑定
a) API
在连接建立以后,申请完语句句柄就可以执行SQL语句了,但是如果你的语句中带有参数,那么你可能还需要对参数进行绑定后才能执行。在API中,SQL中的参数是以?号形式表现的,在绑定时需要调用dm_bind_paramr函数接口来实现。dm_bind_param函数绑定的时候是按给定的参数位置来跟语句中的参数建立对应关系的,该函数第二个参数便是参数的位置,也就是对应?号所在SQL语句中的位置。下面给出该函数中每个参数的注解:
dm_bool
dm_bind_param(
dm_hstmtdmstmt,/*in:用来执行的语句句柄*/
unsignedshortparamid,/*in:参数的位置*/
unsignedshortiotype,/*in:参数的类型(输入/输出/输入输出)*/
longsql_c_type,/*in:参数的C数据类型(缓冲区中存的值的类型)*/
unsignedlongtype,/*in:参数对应数据库中达梦的数据类型*/
dm_uint3264col_size,/*in:列的大小,也可以说是精度*/
unsignedshortdec_digit,/*in:列的刻度*/
void*value,/*in:缓冲区指针*/
dm_int3264len,/*in:缓冲区中单个值的长度,这个参数对于固定数据类型来说是被忽略的*/
dm_int3264*len_or_ind,/*in:要写入单个值的长度*/
unsignedshortptr_len/*in:len_or_ind参数的大小*/
);
下面我们列举一个带参数的SQL语句如何绑定:
intc1;
charc2[100];
dm_int3264len1,len2;
//绑定第一个问号参数
dm_bind_param(dmstmt,1,DM_PARAM_INPUT,TYPE_INTEGER,DM_DATA_INT,10,0,&c1,0,&len1,DM_DESC_PTR_LEN_DEFAULT);
//绑定第二个问号参数
dm_bind_param(dmstmt,2,DM_PARAM_INPUT,TYPE_CHAR,DM_DATA_CHAR,100,0,c2,100,&len2,DM_DESC_PTR_LEN_DEFAULT);
//下面对要插入的参数赋值
c1=1;
len1=4;//值c1的大小,按字节计算
memset(c2,‘a’,100);
len2=100;//参数c2的大小,按字节计算
//执行带参数的语句,执行完成以后1和’aaa..’就会被插入到表t的c1和c2字段中
dm_direct_exec(dmstmt,“insertintot(c1,c2)values(?,?)”);
- ››DM API和OCI编程方式比较
- ››API之菜单函数
- ››API之控件与消息函数
- ››API之进程和线程函数
- ››API之打印函数
- ››API之位图、图标和光栅运算函数
- ››API之网络函数
- ››API之设备场景函数
- ››API之消息函数
- ››API之文本和字体函数
- ››API文件产生器-javadoc.exe
- ››API解读:Thread
赞助商链接