社区
数据库
帖子详情
vc控制台程序能用ADO连接数据库么?或者有什么别的方法。
wantaozhang
2007-03-05 11:14:34
RT
我用SQL提供的API做了,但是本机还可以,局域网内就很慢了。网上还有说这种做法不是很安全。希望大家多多交流啊!
谢谢!!!
...全文
415
4
打赏
收藏
vc控制台程序能用ADO连接数据库么?或者有什么别的方法。
RT 我用SQL提供的API做了,但是本机还可以,局域网内就很慢了。网上还有说这种做法不是很安全。希望大家多多交流啊! 谢谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
oyljerry
2007-03-06
打赏
举报
回复
ADO的例子很多
mick110
2007-03-06
打赏
举报
回复
1、#import "msado15.dll" no_namespace rename("EOF","ADOEOF")
引入"msado15.dll"动态库。
2、定义一个变量 _ConnectionPtr m_AdoCon;代表一个代表与数据源进行的唯一会话
3、打开数据库
_bstr_t connString; //连接字符串
try
{
connString = _T("Provider=MSDASQL.1;Data Source=kong;Persist Security Info=False");
m_AdoCon.CreateInstance(__uuidof(Connection));//???
m_AdoCon->Open(connString, "", "", -1);
}
catch (_com_error& comerr)
{
IErrorInfo* pErrorInfo = comerr.ErrorInfo();
HRESULT hr = comerr.Error();
if (pErrorInfo)
{
BSTR bsDesc = NULL;
pErrorInfo->GetDescription( &bsDesc );
_bstr_t sDesc( bsDesc, false );
AfxMessageBox(sDesc.operator LPCTSTR());
pErrorInfo->Release();
}
}
4、使用
CString strIp, SQL_STR, strTemp, strResult;
UINT port;
_RecordsetPtr AdoRst; //RecordSet的实例
_StreamPtr AdoStream; //Ado数据流
SQL_STR = m_strText; //SQL语句
if (m_AdoCon->State == adStateClosed) //判断连接是否已经关闭
{
strTemp = "Ado connection hasn't set up.";
m_pWnd->SendMessage(WM_FRESHWATCHLIST, (WPARAM)(&strTemp));
SendMsg(strTemp, FALSE);
return;
}
try
{
//Create Recordset Interface
AdoRst.CreateInstance(__uuidof(Recordset));
AdoRst->Open((LPCTSTR)SQL_STR, m_AdoCon.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdUnknown); //打开并且执行SQL(SQL_STR)语句
if (strTemp != "SELECT")
strResult =_T("OK!");
else
{
//Save the xmlResult to strResult
AdoStream.CreateInstance(__uuidof(Stream)); //
AdoRst->Save(AdoStream.GetInterfacePtr(), adPersistXML);
strResult = ((BSTR)AdoStream->ReadText(adReadAll)); //转换为XML格式
}
}
catch (_com_error& comerr)
{
//catch the COM exception
IErrorInfo* pErrorInfo = comerr.ErrorInfo();
HRESULT hr = comerr.Error();
if (pErrorInfo)
{
BSTR bsDesc = NULL;
pErrorInfo->GetDescription( &bsDesc );
_bstr_t sDesc( bsDesc, false);
strResult = sDesc.operator LPCTSTR();
pErrorInfo->Release();
}
}
5.取得表中的字段 GetCollect()
int nItem;
_variant_t vUsername,vBirthday,vID,vOld;
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open("SELECT * FROM users",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
m_bSuccess = TRUE;
while(!m_pRecordset->adoEOF)
{
vID = m_pRecordset->GetCollect("ID");
vUsername = m_pRecordset->GetCollect("username");
vOld = m_pRecordset->GetCollect("old");
vBirthday = m_pRecordset->GetCollect("birthday");
nItem=m_userlist.InsertItem(0xffff,(_bstr_t)vID);
m_userlist.SetItem(nItem,1,1,(_bstr_t)vUsername,NULL,0,0,0);
m_userlist.SetItem(nItem,2,1,(_bstr_t)vOld,NULL,0,0,0);
m_userlist.SetItem(nItem,3,1,(_bstr_t)vBirthday,NULL,0,0,0);
m_pRecordset->MoveNext();
}
}
6.添加数据 PutCollect()
if(!m_pRecordset->adoEOF && m_nCurrentSel >= 0 && m_bAutoSave)
{
vUserID = (long)m_nUserID;
vUsername = m_sUsername;
vOld = (long)m_nOld;
vBirthday = m_tBirthday;
m_pRecordset->PutCollect("ID",vUserID);
m_pRecordset->PutCollect("username",vUsername);
m_pRecordset->PutCollect("old",vOld);
m_pRecordset->PutCollect("birthday",vBirthday)
}
ouyh12345
2007-03-05
打赏
举报
回复
当然能用.
ADO是com组件,使用前CoInitialize,结束时CoUninitialize
wantaozhang
2007-03-05
打赏
举报
回复
有人有连接SQL的例程吗?
VC
++用
ADO
检索数据库源码
VC
++用
ADO
检索数据库源码 数据库是ACCESS 在网上找的 挺有用处的! 可以直接使用
vc
-
ado
数据库实例源代码
visual c++编程
ado
数据库源代码!
用
VC
连接ACCESS数据库
VC
连接数据库
的例子,很详细地讲解了如何
连接数据库
,这篇文章,特别适合初学者,看这里你无需要懂得是什么意思,尽管跟着步骤一步一步走那么你就可以连接成功!
VC
++ ms
ado
15.dll 连接Access数据库动态生成菜单
摘要:
VC
/C++源码,数据库应用,ms
ado
15.dll,动态生成菜单
VC
++ ms
ado
15.dll数据库实例,通过
ADO
动态链接库ms
ado
15.dll连接Access数据库,动态生成窗体菜单,该功能适用于大部分的
VC
++
ADO
动态加载菜单的场合,ms
ado
15.dll动态链接位于Windows系统盘的“Program Files\Common Files\System\
ado
\”目录下,你可以拷出这个文件放在本项目源码的EXE同级目录下。
shuangyasha.rar_
VC
服务器_
VC
串口数据库_串口服务器_串口服务器
vc
_服务器 数据库
和通讯串口服务器联络
程序
,
vc
开发,包含数据库接口的通讯
数据库
4,017
社区成员
39,807
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章