VC中怎么用ADO调用存储过程
我写了调用SP的代码,但是运行时候报"abnormal program termination"。ADO调用存储过程还要不要写些其他的东西,我看了网上有的例程,好象也就这个样子了。
我的数据库用的是SQL Server。
各位老大帮帮忙了。
源代码如下:
/////////////////////////////////////////////////////////////////////
_ConnectionPtr Conn = NULL;
_RecordsetPtr Rs = NULL;
_CommandPtr Cmd = NULL;
CoInitialize(NULL);
Conn.CreateInstance ( __uuidof(Connection));
Rs.CreateInstance (__uuidof(Recordset));
Cmd.CreateInstance (__uuidof(Command));
Conn->Open(L"db", L"sa", L"", adOpenUnspecified); //打开正常
//如下为_CommandPtr对象参数的赋值和调用
Cmd->ActiveConnection = Conn;
Cmd->CommandText = "SP_TEST";
//数据库中实际存在这个测试存储过程,select * from atable,不传递参数
Cmd->CommandType = adCmdStoredProc;
Cmd->Parameters->Refresh();
Rs = Cmd->Execute( NULL,NULL, adCmdUnknown ); //COM出错。
//注释掉的代码为直接的SQL语句提交,运行正确。
//Cmd->ActiveConnection=Conn;
//Cmd->CommandText = "select * from atable";
//Cmd->CommandType = adCmdText;
//Cmd->Parameters->Refresh();
//Rs = Cmd->Execute(NULL,NULL,adCmdUnknown);
.....
Rs->Close();
Conn->Close();
CoUninitialize();
////////////////////////////////////////////////////////
我的数据库用的是SQL Server。
各位老大帮帮忙了。
源代码如下:
/////////////////////////////////////////////////////////////////////
_ConnectionPtr Conn = NULL;
_RecordsetPtr Rs = NULL;
_CommandPtr Cmd = NULL;
CoInitialize(NULL);
Conn.CreateInstance ( __uuidof(Connection));
Rs.CreateInstance (__uuidof(Recordset));
Cmd.CreateInstance (__uuidof(Command));
Conn->Open(L"db", L"sa", L"", adOpenUnspecified); //打开正常
//如下为_CommandPtr对象参数的赋值和调用
Cmd->ActiveConnection = Conn;
Cmd->CommandText = "SP_TEST";
//数据库中实际存在这个测试存储过程,select * from atable,不传递参数
Cmd->CommandType = adCmdStoredProc;
Cmd->Parameters->Refresh();
Rs = Cmd->Execute( NULL,NULL, adCmdUnknown ); //COM出错。
//注释掉的代码为直接的SQL语句提交,运行正确。
//Cmd->ActiveConnection=Conn;
//Cmd->CommandText = "select * from atable";
//Cmd->CommandType = adCmdText;
//Cmd->Parameters->Refresh();
//Rs = Cmd->Execute(NULL,NULL,adCmdUnknown);
.....
Rs->Close();
Conn->Close();
CoUninitialize();
////////////////////////////////////////////////////////
...全文
相关推荐
VC ADO调用存储过程
总的来说,VC++中使用ADO调用存储过程涉及到对ADO对象模型的理解,包括Command对象、Parameter对象以及连接管理。正确配置和使用这些对象,能够实现高效的数据访问和处理。
用VC ADO实现SQL存储过程的调用.pdf
在利用Visual C++ 6.0和ADO技术调用SQL存储过程时,文章强调了实现这一功能对数据库应用软件开发的重要性。
ADO调用存储过程||ADO读取结果集
在本篇讨论中,我们将深入探讨如何使用ADO调用存储过程以及如何将返回的结果集显示到ListView控件中,特别在VC6.0环境下进行测试。
VCADO调用存储过程[参考].pdf
在VC++环境下,调用存储过程是数据库操作中的常见任务,它能够提高性能并封装复杂的数据库逻辑。以下是使用VC ADO调用存储过程的详细步骤和注意事项:1.
VC++调用ADO运行带参数的存储过程 - [VC++6.0].rar
在这个场景中,"VC++调用ADO运行带参数的存储过程"涉及到了如何在VC++6.0中利用ADO来执行存储过程,并传递参数。存储过程是数据库中的预编译SQL语句集合,它可以提高数据操作的效率和安全性。


