- 论坛徽章:
- 0
|
我在使用mnogosearch编译出来的lib库做开发时候,发现这个问题。
下面这段程序主要是获得表的每个字段的类型,以便在组织sql语句时是否在要插入字段两端是否加上单引号:- snprintf(sqlstr, sizeof(sqlstr), "select * from %s where 1=2", dbtable);
- if (UdmSQLQuery(&internal_db_handle, &rs, sqlstr) != UDM_OK)
- {
-
- return -1;
- }
-
- memset(sqlstr, 0, sizeof(sqlstr));
- for (i = 0; i < fieldnum; i++)
- {
- #ifdef SYBASE
- [color=Red] if( ((rs.Fields+i)->sqltype == 0)
- || ((rs.Fields+i)->sqltype == 4) )[/color]
- #else
- if ((rs.Fields+i)->sqltype == 1 || (rs.Fields+i)->sqltype == 12
- || (rs.Fields+i)->sqltype == -1) //DB2
- #endif
- {
- sprintf(sqlfield, "\'%s\'", filed);
- }
- else
- {
- sprintf("sqlfiled, "%s", filed);
- }
复制代码 红色的部分,表示需要加上引号的字段类型。
但是奇怪的是,在32位下面是正常的,但是在64位下,取到的字段类型始终都是0。
谁有类似的情况,能否解答一下?多谢多谢。 |
|