SQLGetData Function
2016-02-15 11:20
441 查看
SQLGetData Function
函数定义:
SQLRETURN SQLGetData(
SQLHSTMT StatementHandle,
SQLUSMALLINT Col_or_Param_Num,
SQLSMALLINT TargetType,
SQLPOINTER TargetValuePtr,
SQLLEN BufferLength,
SQLLEN * StrLen_or_IndPtr);
其他参数就不多说了,具体信息查看msdn
https://msdn.microsoft.com/en-us/library/ms715441(v=vs.85).aspx
这里只说下第三个参数: “TargetType”
这个参数的含义是:指定你想得到的数据类型,而不是数据原本的类型
比如一个表
--------------------------------------------------------------------------------
create table
dbo.t1(ID
INT)
--------------------------------------------------------------------------------
插入一条数据
--------------------------------------------------------------------------------
insert into dbo.t1 values(3)
--------------------------------------------------------------------------------
通过SQLGetData()获取数据时
1. 假如想直接获取到整型值”3”,”TargetType”参数就设置成: SQL_C_SLONG,如:
--------------------------------------------------------------------------------
char buf[1024] = {0};
SQLGetData(odbc->hstmt, 1, SQL_C_SLONG, buf,sizeof(buf), &sql_data_len);
--------------------------------------------------------------------------------
执行过后,buf的前4个字节会填入整形3
2. 假如想获取到字符串型”3”,”TargetType”参数就设置成: SQL_C_CHAR,如
--------------------------------------------------------------------------------
char buf[1024] = {0};
SQLGetData(odbc->hstmt, 1, SQL_C_CHAR, buf,sizeof(buf), &sql_data_len);
--------------------------------------------------------------------------------
执行过后,buf的第一个字节会填入字符”3”对应的ascii码,可以直接将buf当成char型字符串处理了
函数定义:
SQLRETURN SQLGetData(
SQLHSTMT StatementHandle,
SQLUSMALLINT Col_or_Param_Num,
SQLSMALLINT TargetType,
SQLPOINTER TargetValuePtr,
SQLLEN BufferLength,
SQLLEN * StrLen_or_IndPtr);
其他参数就不多说了,具体信息查看msdn
https://msdn.microsoft.com/en-us/library/ms715441(v=vs.85).aspx
这里只说下第三个参数: “TargetType”
这个参数的含义是:指定你想得到的数据类型,而不是数据原本的类型
比如一个表
--------------------------------------------------------------------------------
create table
dbo.t1(ID
INT)
--------------------------------------------------------------------------------
插入一条数据
--------------------------------------------------------------------------------
insert into dbo.t1 values(3)
--------------------------------------------------------------------------------
通过SQLGetData()获取数据时
1. 假如想直接获取到整型值”3”,”TargetType”参数就设置成: SQL_C_SLONG,如:
--------------------------------------------------------------------------------
char buf[1024] = {0};
SQLGetData(odbc->hstmt, 1, SQL_C_SLONG, buf,sizeof(buf), &sql_data_len);
--------------------------------------------------------------------------------
执行过后,buf的前4个字节会填入整形3
2. 假如想获取到字符串型”3”,”TargetType”参数就设置成: SQL_C_CHAR,如
--------------------------------------------------------------------------------
char buf[1024] = {0};
SQLGetData(odbc->hstmt, 1, SQL_C_CHAR, buf,sizeof(buf), &sql_data_len);
--------------------------------------------------------------------------------
执行过后,buf的第一个字节会填入字符”3”对应的ascii码,可以直接将buf当成char型字符串处理了
相关文章推荐
- Oracle 11gR2用gpnp profile存放ASM的spfile路径
- 修改mysql的默认存储引擎
- MySQL 版本号说明及查看方法
- 全面复习之SQL(10)-oracle常用函数
- 京东商城某重要系统MySQL注射(附验证脚本)
- 360某站点MySQL注射(附验证脚本)
- MySQL存储引擎
- win10 安装Oracle net manager提示乱码 plsql提示ORA-12154: TNS: 无法解析指定的连接标识符
- 中国移动10086.cn某分站SQL注入漏洞(附验证脚本)
- oracle 时间函数操作
- oracle表分区
- redis练习手册<十二>zset主要操作函数小结
- Mysql 行列转换
- XP系统中安装postgresql,出现Problem running post-install step.解决
- memcached binary protocol
- 全面复习之SQL(9)-oracle多表查询,连接查询
- oracle14连接NL Exception was generated异常问题
- 自动删除Mysql备份(数组+for)
- SQLITE3的锁以及事务
- [solr] - 数据库导入