关于win32 Dynamic-Link Library的问题
我用VC6++ 建立了win32 Dynamic-Link Library的dll,里边写了一个用ado连接oracle数据库的函数如下 ,问题是怎么才能将查出内容用MessageBox显示,最后的返回值应该怎么给?
这个dll中没有CString 或 String
int myconn()
{
char *aa;
...
m_pRecordset = m_pConnection-> Execute( "select a from tablename where t.id=1 ' ",&RecordsAffected,adCmdText);
_variant_t vIndex = (long)0;
vCount = m_pRecordset-> GetCollect(vIndex);
m_pRecordset-> Close();
aa=(char*)(_bstr_t)vCount;
MessageBox(0, "这里应该把该字段值显示出来 ", "调试对话框 ",1);
return 这里应该怎么给返回值
;
}
[解决办法]
返回值是什么这个完全自己定的,比如我可以这样写:
int rtn = MessageBox(0, "这里应该把该字段值显示出来 ", "调试对话框 ",1);
return rtn;
另外1:你的excute语句似乎引号不匹配哦。
另外2:MessgeBox的调用应该在界面模块中完成,不应该在逻辑模块中完成,MessageBox(0,...)这样的调用往往会导致混乱。
[解决办法]
可以用CHAR* 建议楼主 返回类型用BOOL 在参数中返回char*
你的接口成功与否都不是很清楚,这样写不妥当
如果返回类型一定是CHAR*的话,如果失败请返回NULL
[解决办法]
用MESSAGEBOX调试不是最好的办法。