>>>>>>>>
能找到的例子都是vb的,在vb中可以不加参数,但是VC中就不行,谁有这方面的经验请
赐教!!!
每次编译可以通过,但是运行到open这一句就出错
代码如下
_bstr_t SQLxml;
try
{
m_connection.CreateInstance("ADODB.Connection");
m_command.CreateInstance("ADODB.Command");
m_strmIn.CreateInstance("ADODB.Stream");
m_strmOut.CreateInstance("ADODB.Stream");
m_recordset.CreateInstance("ADODB.Recordset");
m_record.CreateInstance("ADODB.Record");
//Open a conneciton to the SQL Server
//m_connection->Provider="SQLOLEDB";
_bstr_t sql;
sql="driver=sql server;server=yangys;database=test;uid=sa";
m_connection->Open(sql,"","",adModeUnknown);
m_command->ActiveConnection=m_connection;
//build the command string for a XML
SQLxml="<root xmlns:sql=""urn:schemas-microsoft-com:xml-sql""><sql:query><![CDATA[select * form employee for xml auto]]></sql:query></root>";
//Open the command stream and write our template to it
_bstr_t bstrUser="sa";
_bstr_t bstrPwd="";
m_strmIn->GetState(); // for test state
m_strmIn->Open //<<<<<< RUNTIME ERROR>>>>>>>("",adModeUnknown,adOpenStreamFromRecord,bstrUser,bstrPwd);
m_strmIn->WriteText(SQLxml,adWriteChar);
m_strmIn->Position=0;
//Execute the command,open the return stream,and read the result
m_strmOut->Open("",adModeUnknown,adOpenStreamAsync,"","");
m_strmOut->LineSeparator=adCRLF;
_variant_t rsAffect;
Properties* pProperties;
Property* pProperty;
_variant_t vtIndex;
vtIndex.vt=VT_I2;
m_command->get_Properties((Properties**)&pProperties);
pProperties->get_Item(vtIndex,(Property**)&pProperty);
pProperty->GetValue();
m_command->Execute(&rsAffect,NULL,adExecuteStream);
m_strmOut->Position=0;
运行到m_strmIn->Open这句时就会出错,是内存读取错误
请帮忙看看,谢谢!
赐教!!!
每次编译可以通过,但是运行到open这一句就出错
代码如下
_bstr_t SQLxml;
try
{
m_connection.CreateInstance("ADODB.Connection");
m_command.CreateInstance("ADODB.Command");
m_strmIn.CreateInstance("ADODB.Stream");
m_strmOut.CreateInstance("ADODB.Stream");
m_recordset.CreateInstance("ADODB.Recordset");
m_record.CreateInstance("ADODB.Record");
//Open a conneciton to the SQL Server
//m_connection->Provider="SQLOLEDB";
_bstr_t sql;
sql="driver=sql server;server=yangys;database=test;uid=sa";
m_connection->Open(sql,"","",adModeUnknown);
m_command->ActiveConnection=m_connection;
//build the command string for a XML
SQLxml="<root xmlns:sql=""urn:schemas-microsoft-com:xml-sql""><sql:query><![CDATA[select * form employee for xml auto]]></sql:query></root>";
//Open the command stream and write our template to it
_bstr_t bstrUser="sa";
_bstr_t bstrPwd="";
m_strmIn->GetState(); // for test state
m_strmIn->Open //<<<<<< RUNTIME ERROR>>>>>>>("",adModeUnknown,adOpenStreamFromRecord,bstrUser,bstrPwd);
m_strmIn->WriteText(SQLxml,adWriteChar);
m_strmIn->Position=0;
//Execute the command,open the return stream,and read the result
m_strmOut->Open("",adModeUnknown,adOpenStreamAsync,"","");
m_strmOut->LineSeparator=adCRLF;
_variant_t rsAffect;
Properties* pProperties;
Property* pProperty;
_variant_t vtIndex;
vtIndex.vt=VT_I2;
m_command->get_Properties((Properties**)&pProperties);
pProperties->get_Item(vtIndex,(Property**)&pProperty);
pProperty->GetValue();
m_command->Execute(&rsAffect,NULL,adExecuteStream);
m_strmOut->Position=0;
运行到m_strmIn->Open这句时就会出错,是内存读取错误
请帮忙看看,谢谢!
...全文
相关推荐
高程历年试题
高程历年试题,值得大家拥有.
基于VC6.0+MFC的桌面考试系统设计与实现
Windows桌面应用开发中,MFC作为C++的经典界面框架,通过封装Win32 API和消息映射机制,让开发者能高效构建对话框类程序。它强调窗口与控件的交互逻辑,适合表单密集型场景。在实际工程中,常配合Access数据库和ADO技术实现数据持久化,利用随机组卷算法和自动判分逻辑提升业务效率。这类技术栈尤其适用于教学管理、在线考试等轻量级部署环境,具有无需额外运行库、拷贝即用的特点。本文将围绕一个基于VC6.0+MFC的桌面考试系统,详细拆解其登录权限、题库管理、随机组卷、在线答题与自动判分等核心模块的实现
1987至2005年高程,软件设计师考试真题汇编
1987至2005年高程,软件设计师考试真题汇编,有需要的朋友来下。
蓝桥杯历年试题及答案(C语言)
内容包括赛事选手须知,大赛题目样式,还有答案
大学英语六级历年试题
大学英语六级历年试题,提高英语应试能力··


