_ConnectionPtr m_pConnection;
//SQL2000连接
m_pConnection->Open("Provider=SQLOLEDB.1;Data Source=Example;Initial Catalog=Example;User ID=sa; PWD=123","","",1);请问:我要操作我的电脑d:\example.mdf,请问,上述连接语句可否连接的上.如果我的程序编译完了之后,我再将example.mdf移到f:盘根目录,此时次连接语句是否有效?
调试欢乐多
sqlserver="192.168.0.96"; //设定数据库服务器
sqlconnect="Provider=SQLOLEDB.1;Password=product;Persist Security Info=True;User ID=product;Initial Catalog=pubs;Data Source="+sqlserver;
HRESULT hr; ///设定一个句柄
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open(_bstr_t(sqlconnect),"","",adModeUnknown); //连接数据
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
这样较好,只要是数据库打开就可以了
pConn->Open("Provider=MSDASQL.1;Password=12345678;Persist Security Info=True;User ID=SA;Data Source=EXAM;Initial Catalog=EXAM","","",-1)大家帮我看看到底是什么问题,为什么不能连到指定的数据库去
我在我的电脑上建立了一个EXAM的数据库,可是初次接触ADO,怎么也连接不上去,大大帮帮忙
我也遇到了类似的问题,好象是联上去了,可查询的时候出错:
我要在程序中用ado技术访问sql server200数据库,以下是我的代码,请高手指教:
void CMyDlg::OnBnClickedButton1( )
{
_ConnectionPtr pConn=NULL;
_RecordsetPtr pSet=NULL;
try
{
pConn.CreateInstance(__uuidof(Connection));
pSet.CreateInstance(__uuidof(Recordset));
//DSN 数据源
_bstr_t conn="DSN=bookshop;UID=bookshop;PWD=bookshop";
pConn->Open(conn,"","",-1);
AfxMessageBox("OK");
_bstr_t sql="SELECT name FROM workers WHERE workerid='W001'";
_RecordsetPtr pSet;
pSet=pConn->Execute(sql,NULL,adCmdText);
if(!pSet->GetADOEOF())
{
AfxMessageBox("Connected!"); } pConn->Close();
}
catch(_com_error&e)
{
AfxMessageBox(e.ErrorMessage());
AfxMessageBox("Wrong!");
}
}
能够连接成功,接有消息"OK"发出,但又有错误"IDispath error #3127" 发出
请指教.
关于vc中的ado数据库操作,我还是新手,有很多东西要学,还请高手指教,
例如
1 _bstr_t类型到底是什么类型的数据,
2 variant_t 又是什么类型,
3 _RecordsetPtr 的Open函数的各个参数到底什么类型的数据,我在不同的参考书上 看到不 同的说法
4 pSet->Open("SELECT * FROM workers", (const _variant_t&) pConn,adOpenDynamic,adLockOptimistic,adCmdText);
其中pSet是_RecordsetPtr 类型的,第二个参数那样强制转换行不行啊,有些书说这样打开Recordset
pSet->Open("SELECT * FROM workers", Conn->GetInterfacePt(),adOpenDynamic,adLockOptimistic,adCmdText);
可在我的.net环境中_ConnectionPtr 没有这个成员函数,不知道是怎么回事.