_ConnectionPtr m_Connection; //连接对象
_RecordsetPtr m_Recordset; //记录集对象m_Connection.CreateInstance(__uuidof(Connection));
m_Recordset.CreateInstance(__uuidof(Recordset));m_Connection->Open("Provider=SQLOLEDB.1;Data Source=Acrobat;Initial Catalog=pubs;User ID=sa;PWD=;
","","",adConnectUnspecified);.......//已经做好了绑定的工作,但是执行下面的查询的话,总是提示错误。
//我是通过ADO提供的IADORecordBinding对象去绑定的。
//这个打开应该没有错吧!
//而且做过异常判断,没有提示连接错误啊!
m_Recordset->Open( "SELECT * FROM Employee ORDER BY lname", (_variant_t)m_Connection, adOpenStatic,
adLockOptimistic, adCmdStoredProc)每次执行都提示一个对话框“参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。” 很是郁闷呐!
我有用MessageBox效检过一下语句,显示是个正确的SQL语句啊!上面是我写的程序中主要调用到的代码,各位拜托了,在线等。
解决方案 »
- 用CDC类绘图坐标位置不对,怎么解决
- 编译出错问问什么原因!【结贴率100%】
- 怎么正确实现:在视图类中发送一个自定义消息给主框架类,让主框架类进行处理?
- 求画笔源代码
- 如何从CBitmap得到HICON
- 我找不到招聘VC。NET的公司
- 有关对菜单的控制,求救
- 带红星者帮我看看这个简单的问题.谢谢!
- 问个困扰很久的问题,写telnet服务器端程序时,怎么处理backspace键。我试了下面的程序,只有第一个backspace有作用?如能解答,百分奉送
- 超级简单问题,求如何在程序中自动关掉已经生成的对话框的代码
- 键盘钩子的问题
- vs2003.net TreeCtrl-View 无法加载节点前小图
m_Recordset->Open( "SELECT * FROM Employee ORDER BY lname", (_variant_t)m_Connection, adOpenStatic,
adLockOptimistic, adCmdStoredProc)
//改成m_Recordset->Open( "SELECT * FROM Employee ORDER BY lname", (_variant_t)m_Connection, adOpenStatic,
adLockOptimistic, adCmdText)
;
====================================================================
改成:
m_Recordset->Open( "SELECT * FROM Employee ORDER BY lname", (_variant_t)m_Connection, adOpenDynamic,adLockOptimistic, adCmdText);打开方式不对。
m_Recordset->Open( "SELECT * FROM Employee ORDER BY lname", (_variant_t)m_Connection, adOpenStatic,
adLockOptimistic, adCmdStoredProc)
//改成m_Recordset->Open( "SELECT * FROM Employee ORDER BY lname", (_variant_t)m_Connection, adOpenStatic,
adLockOptimistic, adCmdText
// 执行查询
_RecordsetPtr& CMyDB::GetRecordSet(CString strSql)
{
try
{
_variant_t RecordsAffected; if( m_pRecordset->GetState() == adStateOpen)
{
m_pRecordset->Close();
} m_pRecordset->Open((LPCTSTR)strSql,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("SQL执行失败!\r\n错误信息:%s SQL:%s",(char*)(e.Description()),(LPCTSTR)strSql);
m_strError = (LPCTSTR)e.Description();
CLog::Log(errormessage);
}
return m_pRecordset;
}