主题:一段数据库连接代码,但还没消化
[code=c]
CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));
pConn->ConnectionString = "Provider=SQLOLEDB.1;
Persist Security Info=False;User ID=sa;password=362300;Initial Catalog=pubs";
pConn->Open("", "", "", adConnectUnspecified);
pRst = pConn->Execute("select * from authors", NULL, adCmdText);
while(!pRst->rsEOF)
{
((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("au_lname"));
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release();
CoUninitialize();
[/code]
先说说我的感受,C++利用ADO来实现对数据库的访问确实挺麻烦的,而且代码里出现的一些东西对我这个初学VC的人是个很大的难题,以下问题有的不只针对ADO方面:
1. __uuidof 这个是什么?我知道查MSDN可以得到答案,可是一个新手怎么知道得这样写呢?
2. _ConnectionPtr是何许人物?为什么他可以用->又可以用.呢?
3. 关于((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("au_lname"));这句代码,AddString函数后面的参数为何要求是_bstr_t来转化? 还有_bstr_t这东西也很奇怪,为什么VC里面这么多的类型,单单一个字符,字符串类型的写法(Unicode, nonUnicode)就搞得我晕头转向;
4. 我该如何去学VC,学完C++,感觉离VC还有很长一段路得走,现在在看孙鑫的VC教程,学下来还是晕晕的,VC的实现比较C#.Net这些复杂麻烦很多。请问识坛里的朋友,你们学习VC之路是如何走过来的呢?
CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));
pConn->ConnectionString = "Provider=SQLOLEDB.1;
Persist Security Info=False;User ID=sa;password=362300;Initial Catalog=pubs";
pConn->Open("", "", "", adConnectUnspecified);
pRst = pConn->Execute("select * from authors", NULL, adCmdText);
while(!pRst->rsEOF)
{
((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("au_lname"));
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release();
CoUninitialize();
[/code]
先说说我的感受,C++利用ADO来实现对数据库的访问确实挺麻烦的,而且代码里出现的一些东西对我这个初学VC的人是个很大的难题,以下问题有的不只针对ADO方面:
1. __uuidof 这个是什么?我知道查MSDN可以得到答案,可是一个新手怎么知道得这样写呢?
2. _ConnectionPtr是何许人物?为什么他可以用->又可以用.呢?
3. 关于((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("au_lname"));这句代码,AddString函数后面的参数为何要求是_bstr_t来转化? 还有_bstr_t这东西也很奇怪,为什么VC里面这么多的类型,单单一个字符,字符串类型的写法(Unicode, nonUnicode)就搞得我晕头转向;
4. 我该如何去学VC,学完C++,感觉离VC还有很长一段路得走,现在在看孙鑫的VC教程,学下来还是晕晕的,VC的实现比较C#.Net这些复杂麻烦很多。请问识坛里的朋友,你们学习VC之路是如何走过来的呢?