![](image/doc.gif)
tttk:非常不错。我刚开始学VC,此文章对我受益匪浅。另外,提供一个源代码的行为非常善解人意。
祝网站越办越好。
(发表于2002-4-16 13:21:00)
![](image/doc.gif)
xxx:so good!
(发表于2002-4-22 12:48:00)
![](image/doc.gif)
zwcboy:请问如何对vfp中的dbf表操作?dbf可以在access中打开。我将test.mdb改为我的test.dbf,可是报
{"连接数据库失败!
错误信息:未指定的错误"}
这是为什么?
(发表于2002-4-22 16:31:00)
![](image/doc.gif)
cbh:写得很好的文章,但按文中方法连接我的mysql数据库,却不能成功,提示
连接数据库失败!
错误信息:未指定的错误
我是用的"不通过DSN对SQL SERVER数据库进行连接"
而得到如上错误的,如果使用 通过DSN数据源对任何支持ODBC的数据库进行连接:
就能成功连接上,不知为什么,如何使用ado连接上 mysql 远程数据库??难道有别的语法可以连上去吗,请作者能提供,谢谢 chineseinfo@alibaba.com
(发表于2002-4-25 14:54:00)
![](image/doc.gif)
陈炳华:连接到远程的mysql数据库应该这样连接才行
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("driver={mySQL};Server=127.0.0.1;Port=3306;Option=131072;Stmt=;DATABASE=data;UID=user;PWD=pwd","","",adModeUnknown);///连接数据库
///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51; }
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
return FALSE;
(发表于2002-5-5 23:02:00)
![](image/doc.gif)
交友:如何在VC++尊敬的先生/女士:
你好!
虚心请教如何在VC++6.0中连接并打开服务器上的Oracle数据库。( cqx2002@eyou.com )
一定重谢!
(发表于2002-5-12 9:40:00)
![](image/doc.gif)
zlfpeak:为什么我的access程序改道sql server后,recordcount变成了-1
(发表于2002-6-25 16:25:00)
![](image/doc.gif)
acpeng@sohu.com:各位大虾:
我们用VC6.0开发一个程序时,用ado访问SQLserver数据库,但在用Recordset执行AddNew()和Update()时,总是产生错误,比如:
Item cannot be found in the collection correspending tothe requested name or ordinal.
不知是何故?前几天调试还什么问题都没有,今天就.......
各位给个主意吧。
(发表于2002-7-3 17:41:00)
![](image/doc.gif)
xyrhyh:文章简明扼要,但又清楚明了。我虽是菜鸟,不过也可以一看就懂,作者应该是位好老师!谢谢!!!
(发表于2002-7-14 20:55:00)
![](image/doc.gif)
马达:真的谢谢您!!!
(发表于2002-7-22 12:42:00)
![](image/doc.gif)
ccc:真的谢谢您!!!
但你的程序在删除所有数据时报错,请问问题在哪里,如何改呢?
(发表于2002-7-23 7:53:00)
![](image/doc.gif)
Dream:我想在程序中采用DBGrid(非绑定模式),但有很多故障,以下是DBGrid读记录集中记录的代码,运行时在BOF,AdoEOF或者被删除的记录处出现错误,不知能否为我指点迷津。或者给我一些关于DBGrid和DataGrid的相关资料和例程,不胜感激!(Email:higaer@163.com)
void CDBGridDemo5View::OnUnboundReadDataDbgrid1(LPDISPATCH RowBuf, VARIANT FAR* StartLocation, BOOL ReadPriorRows)
{// TODO: Add your control notification handler code here
RowBuffer buf(RowBuf);
VARIANT varbok
varbok.vt=VT_ARRAY | VT_UI1
long Row,RowsFetched;
VARIANT var ;RowsFetched=0;
if(StartLocation->vt==VT_NULL){ if(ReadPriorRows){
try{ theApp.m_recordSet->MoveLast();}
catch (_com_error &e){ GenerateError(e.Error(), e.Description()); } }
else{ try{ theApp.m_recordSet->MoveFirst();}catch (_com_error &e){ GenerateError(e.Error(), e.Description()); } }}
else{// Find the position to start reading based on the
// StartLocation bookmark and ReadPriorRows parameter
}
(发表于2002-7-29 16:34:00)
![](image/doc.gif)
Dream:try{ VectorFromBstr(StartLocation->bstrVal,&varbok.parray); theApp.m_recordSet->put_Bookmark(varbok); if(ReadPriorRows)theApp.m_recordSet->MovePrevious(); else theApp.m_recordSet->MoveNext(); } catch (_com_error &e){ GenerateError(e.Error(), e.Description()); } } // Transfer data from our data set array to the RowBuf
// object which DBGrid uses to display the data
for(Row = 0; Row
if(theApp.m_recordSet->AdoEOF||theApp.m_recordSet->BOF)break;
var.vt=VT_BSTR;
var.bstrVal=_bstr_t(theApp.m_recordSet->GetCollect(_variant_t("年度")));
if(buf.GetColumnCount()>0)buf.SetValue(Row, 0,var);
for(short iField=1;iField<6;iField++)
{ COleVariant oleVal(theApp.m_recordSet->GetCollect(_variant_t(iField)));
var=*((LPVARIANT)oleVal);
if(buf.GetColumnCount()>iField)buf.SetValue(Row, iField,var);
}
(发表于2002-7-29 16:35:00)
Dream:
// Set bookmark using CurRow which is also our
// array index
// BstrFromVector(((LPVARIANT)theApp.m_recordSet->get_Bookmark())->parray,&var.bstrVal);
var.vt=VT_BSTR;
theApp.m_recordSet->get_Bookmark(&var);
buf.SetBookmark(Row,var);
RowsFetched++;
if(ReadPriorRows)theApp.m_recordSet->MovePrevious();
else theApp.m_recordSet->MoveNext();
}
buf.SetRowCount(RowsFetched);
(发表于2002-7-29 16:36:00)
林因:对不起,请问应该创建什么工程?
我的意思是,我要从头来写一遍这个程序,怎么开始,具体应该怎么做?
谢谢!
(发表于2002-8-7 14:20:00)
jd2bs:请问为什么我用了所有的方法:jet,dsn,sql server连接却统统不能连上呢??
提示
连接数据库失败!
错误信息:未指定的错误
(发表于2002-8-9 10:32:00)
toneyji:各位大虾帮忙:
我用ADO访问sqlserver数据库,在recordset时出错, 运行出现Idispatch error #3149是什么意思?请不吝赐教
(发表于2002-9-5 19:37:00)
etone8848:文章内容确是简明,但不知作者发现没有,源码程序在2000server环境下编译而后在W98下执行会失败!,执行到MyRecordset->Open(.....)为止,如果可能的话请指教!
(发表于2002-9-6 11:52:00)
g:t
(发表于2002-9-9 20:14:00)
zengquansheng:错误Idispatch error #3149如何解决?请不吝赐教
请回复:zengquansheng@163.com
(发表于2002-11-14 9:04:00)
yu_Vc:我的代码如下:void CCEgsView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
if (!AfxOleInit())
{
AfxMessageBox("ole 初始化错误");
}
HRESULT hr;
_bstr_t source("Driver=SQL Server;Server=AHMTFWQ;Uid=sa;Pwd=;database=gsxd");
_bstr_t user("yxz");
_bstr_t pwd("");
try{hr=m_connection.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(hr))
hr=m_connection->Open(source,user,pwd,16);
if(SUCCEEDED(hr))
hr=m_recordset.CreateInstance(__uuidof(Recordset));
if(SUCCEEDED(hr))
m_fConnected=TRUE;
else
m_fConnected=FALSE;
}
catch(_com_error *e){
MessageBox(e->ErrorMessage());
m_fConnected=FALSE;
}
if(!m_fConnected)
MessageBox("ADO数据源初始化失败!");
else
m_strSource=(const char *)source;
// TODO: You may populate your ListView with items by directly accessing
// its list control through a call to GetListCtrl().
}
为什么在RecordSet的open(......)是连接不上????????
(发表于2002-12-23 8:29:00)
tiank_sky:请问怎样用ADO动态创建数据库?
(发表于2002-12-31 11:56:00)
Kimhuang:我按你的方法把你的例子重新编写的时候,为什么在m_pRecordset->Open("SELECT * FROM users",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
这个地方,总是说
error C2065: 'theApp' : undeclared identifier
error C2228: left of '.m_pConnection' must have class/struct/union type
请问这是为什么呢?
(其它地方跟你的例子一样)
(发表于2003-4-22 17:50:00)
blue_seawind:你应该加上一句:extern **App theApp;其中**App 代表你的类名。
(发表于2003-4-25 22:06:00)
gamestar:不错的文章
(发表于2003-5-27 16:57:00)
lyyer:总是有 _com_issue_error undefined
Can you let me why?
Think you
(发表于2003-6-20 10:17:00)
skdragon:不错的文章,对于我这个出学者来说,很快就入门了,希望你以后多多发些这样的文章。
(发表于2003-9-12 16:54:00)
dreamge:我用Ado访问数据库时,插入一条记录,用法如下:
char Sql[256];
int Num;
sprintf(Sql,"INSERT ENTITY_RELATION(SRCBID, SRCID, OBJBID, OBJID) VALUES('%ld', '%ld', '%ld', '%ld')", nSrcBid, nSrcId, nObjBid, nObjId);
_variant_t RecordsAffected(Sql);
m_pRs->PutRefActiveConnection(m_pConn);
m_pRs->Open(RecordsAffected, vtMissing, adOpenStatic, adLockReadOnly, adCmdText);
Num=m_pRs->GetRecordCount();
最后一句话死机了?!但是实际上是插入记录已经成功了。是怎么回事?应该如何来判断是否插入记录成功呢?
我用的是Ado2.0,m_pRs和m_pConn的初始化等应该都正常。
(发表于2003-12-5 14:40:00)
eliner:真的要谢谢了
(发表于2004-4-3 16:24:00)
rbird5118:欢迎加盟中国微型软件开发中心,网站正建设中。。。
为你量身定做各种小型软件,
联系方式:
email:ldh5118@sohu.com
qq : 36201365
(发表于2004-4-14 16:00:00)
ikohl:感谢
(发表于2004-8-19 14:19:00)
zwzo_wen:呵呵,对于我们这些刚入道的人来说,这些文章真是太好了!
(发表于2006-3-25 17:55:00)
boyofbit:相当感谢
(发表于2007-9-10 13:31:00)
cristiano:非常感谢,现在做一个小的监控程序,努力学习吧,以后多交流^^!!
(发表于2007-10-15 16:53:00)
..........................................................................
--------------------next---------------------