ADO + ORACLE
我的程序
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open((_bstr_t)strSQL,(IDispatch*)m_pConnection,adOpenStatic,adLockOptimistic,adCmdText);
vUserID=m_pRecordset->GetCollect("START_TIME");
vUserAccount=m_pRecordset->GetCollect("LOGIN_CODE");
if(vUserAccount.vt != VT_NULL)
{
temp = (LPCSTR)_bstr_t(vUserAccount);
}
AfxMessageBox(temp);
}其中strSQL是strSQL=_T("SELECT LOGIN_CODE ,START_TIME, END_TIME FROM VC_TIME ,JC_USER_TABLE WHERE VC_TIME.YG_ID = JC_USER_TABLE.ROW_ID ") ;运行弹对话框告诉我是未指定的错误我调试走到这儿vUserID=m_pRecordset->GetCollect("START_TIME");再向下就直接到catch{}里了请问是什么原因啊? 我试着查一张表可以,看来多张不行,怎么办啊?
用下面指明是哪个表的字段也不可以:
vUserID=m_pRecordset->GetCollect("VC_TIME.START_TIME");多表查得的记录怎么获取各个字段啊?
我在线等啊
我的程序
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open((_bstr_t)strSQL,(IDispatch*)m_pConnection,adOpenStatic,adLockOptimistic,adCmdText);
vUserID=m_pRecordset->GetCollect("START_TIME");
vUserAccount=m_pRecordset->GetCollect("LOGIN_CODE");
if(vUserAccount.vt != VT_NULL)
{
temp = (LPCSTR)_bstr_t(vUserAccount);
}
AfxMessageBox(temp);
}其中strSQL是strSQL=_T("SELECT LOGIN_CODE ,START_TIME, END_TIME FROM VC_TIME ,JC_USER_TABLE WHERE VC_TIME.YG_ID = JC_USER_TABLE.ROW_ID ") ;运行弹对话框告诉我是未指定的错误我调试走到这儿vUserID=m_pRecordset->GetCollect("START_TIME");再向下就直接到catch{}里了请问是什么原因啊? 我试着查一张表可以,看来多张不行,怎么办啊?
用下面指明是哪个表的字段也不可以:
vUserID=m_pRecordset->GetCollect("VC_TIME.START_TIME");多表查得的记录怎么获取各个字段啊?
我在线等啊
解决方案 »
- 求助:VC的贴标签算法,,
- HBITMAP对象怎么MFC下的窗口中画出来?
- 我怀疑“网博士”有木马,反正它总是访问网络……,不太正常!
- VC视频处理的一些问题
- 求教解决的方法!!!!
- .net2005中C++创建问题
- 用Win32 API编程。除了安装Visio Studio 6.0 还要安装什么东西??
- 请大家帮忙选择一下加解密算法和压缩解压缩算法;100分!!!!!!!!
- 怎样将我接到的数据转换成字符形式?谢谢!
- 极easy的VC问题:ToolBar的停靠。。
- TerminateProcess无法结束进程的问题;附代码!!!!!!
- (急!!!!)在MFC中,怎样实现当鼠标停在父窗口的某个位置时,出现图像或自定义的菜单,当鼠标离开时消失?
如果是我,我会再次创建一个m_pRecordset2 进行另一张表的打开和访问,不调用SQL语句。
如果此法不通,帮你顶一下!
这样取vUserID=m_pRecordset->GetCollect("START_TIME");
肯定错了,呵呵,我换了条件,可以了.呵呵
看来不是多表的问题啊,是记录集不可以为空啊.不过怎么判断m_pRecordset是否为空啊?
{
vUserID=m_pRecordset->GetCollect("START_TIME");
...
}
用 while( !m_pRecordset->adoEOF ) 进行判断,如果记录集为空就不执行读取的任务。