谁对dll比较熟一点,帮我一下

xler 2002-10-21 07:04:42
我想用Ado
在自己创立的dll文件中实现对ms-sql
连接并取数据

感觉并不难
可是在dll中
第一句CreateInstance(__uuidof(Connection))就通不过
(我已经import msado15.dll)
还有怎么让接口函数传回多个值
例如我在RecordSet里面读了数个值
怎么传回,一个一个对应传太麻烦了,而且接口函数的参数也太多了
谢谢

最好给个例子,也不是太难吧:),xiexiexie
...全文
30 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xler 2002-10-22
  • 打赏
  • 举报
回复
首先谢谢你的解答
加了::Coinit ..后

::CoInitialize(NULL);
_ConnectionPtr m_pContest;
_RecordsetPtr m_pMyDB;

CString mysql= "DRIVER=SQL Server;SERVER="+Server+";UID=" +User + ";PWD=" +Passwd+ ";DATABASE="+DB;
m_pContest.CreateInstance(__uuidof(Connection));

HRESULT hr = m_pContest->Open(_bstr_t(mysql),"","",-1);
~~~~~~~~~~~~~~~~~这里又通不过,请问是怎么回事???
if(!SUCCEEDED(hr)) return false;

CSQL m_SQL;
CQuery m_Query;
COleVariant varsql, vardata;
varsql.vt = VT_BSTR;
varsql.bstrVal = sql.AllocSysString();
hr = m_pMyDB.CreateInstance(__uuidof(Recordset));
hr =m_pMyDB->raw_Open(varsql,_variant_t((IDispatch*)m_pContest,true),adOpenStatic,adLockPessimistic,adCmdText);
if(!SUCCEEDED(hr))
{
m_pContest->Close();
m_pMyDB->Close();
return false;
}
int nRcount = m_pMyDB->RecordCount;
if(nRcount==0)
{
m_pContest->Close();
m_pMyDB->Close();
return false;
}
hr = m_pMyDB->raw_MoveFirst();
vardata=m_pMyDB->GetCollect(_bstr_t(data));
value=VarToStr(vardata);
m_pContest->Close();
m_pMyDB->Close();
javanew 2002-10-22
  • 打赏
  • 举报
回复
GetField(CString &Value, CString FieldName)
{
CString ErrorMessage;
_variant_t TheValue; //VARIANT数据类型
_variant_t field;
field.SetString(FieldName);
try
{
TheValue = m_pRecordset->GetCollect(field);
Value.Format("%s",(char *)_bstr_t(TheValue));
}
catch(_com_error &e)
{
...
}
catch(...)
{
...

}
javanew 2002-10-22
  • 打赏
  • 举报
回复
1.m_pConnection.CreateInstance(_uuidof(Connection));
之前要::Coinitialize(NULL);
2.只能一个一个字段读出来,封装一下了


try
{
CString strSql=sqlString;
BSTR bstrSQL = strSql.AllocSysString();
_variant_t RecordsAffected;
m_pRecordset=m_pConnection->Execute((LPCTSTR)sqlString, &RecordsAffected, adCmdText);

}
catch (_com_error e) //异常处理
{
...

}
catch (...)
{
...
}

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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