- 論壇徽章:
- 0
|
我在使用mnogosearch編譯出來的lib庫做開發(fā)時候,發(fā)現(xiàn)這個問題。
下面這段程序主要是獲得表的每個字段的類型,以便在組織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);
- }
復(fù)制代碼 紅色的部分,表示需要加上引號的字段類型。
但是奇怪的是,在32位下面是正常的,但是在64位下,取到的字段類型始終都是0。
誰有類似的情況,能否解答一下?多謝多謝。 |
|