一个关于数据库的小问题,大家过来看看,高分感谢

kerry803 2006-04-10 06:30:06
下面这段程序在Visual C++6.0中,编译运行均可以通过,一切正常。
#include "windows.h"
#include <sql.h>
class TTable{
private:
SQLHENV henv; //分配ODBC环境
bool retcode; //操作标识
public:
TTable();
};
//初始化环境变量
TTable::TTable()
{
//分配ODBC环境
retcode = false;
SQLRETURN retcode1;
retcode1 = SQLAllocHandle(SQL_HANDLE_ENV,NULL,&henv);

}

int main()
{
TTable db;
return 0;
}



但把这段程序放到C++builder的Console Application中编译能够通过,但运行时报连接错误。
错误信息如下所示:
[Linker Error] Unresolved external 'SQLAllocHandle' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ

请各位高手,能告诉我为什么会这样?怎么样修改才能在C++builder中运行通过呢?
非常感谢!在线等答案!若能解决问题,马上给分!



...全文
60 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2006-04-10
  • 打赏
  • 举报
回复
可能是bcb中的odbc32.lib版本太老的关系,解决方法是重新生成它就可
具体:
在cmd下到e:\temp目录
implib odbc32n.lib \winnt\system32\odbc32.dll
然后在程序中class TTable{前加:
#pragma link "e:\\temp\\odbc32n.lib"
就可以了

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧