工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1499|回复: 0

数据库编程时出现的莫名其妙的错误

[复制链接]
发表于 2008-6-26 17:00 | 显示全部楼层 |阅读模式
莫名其妙的异常两段基本相同的代码,执行起来却一个没异常而另一个异常!真不知道为什么会如此!两段代码的SQL语句在SQL SERVER里面运行又是没有错误的!

运行正常的代码段:
        if(Choose==2){
              Connect(Server);
                          _bstr_t vSQL;
                          vSQL="SELECT * FROM BOOK WHERE FLAG_BORROW=\'Y\' OR FLAG_BORROW=\'y\'";
              m_pRecordset->Open(vSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
                          if(!m_pRecordset->adoBOF||!m_pRecordset->adoEOF)
                for(m_pRecordset->MoveFirst();!m_pRecordset->adoEOF;m_pRecordset->MoveNext()){
                    char FID[100];
                    strcpy(FID,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("BOOK_ID"));
                                        if(!strcmp(ID,FID)){
                                            Disconnect();         
                                                return 1;
                                        }//if(find)
                                }//for()
                          Disconnect();
                          return 0;
        }//if(Choose==2),find if there is the book can be borrowed

运行错误的代码段:
        if(Choose==3){
              Connect(Server);
                          _bstr_t vSQL;
                          vSQL="SELECT * FROM BORROW_RETURN WHERE READER_ID=";
                          strcat(vSQL,"\'");
                          strcat(vSQL,NowReader->ID);
                          strcat(vSQL,"\'");
              m_pRecordset->Open(vSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);//经测试,这是出现异常的语句
              if(!m_pRecordset->adoBOF||!m_pRecordset->adoEOF)
                            for(m_pRecordset->MoveFirst();!m_pRecordset->adoEOF;m_pRecordset->MoveNext()){
                    char FID[100];
                    strcpy(FID,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("BOOK_ID"));
                                        if(!strcmp(ID,FID)){
                                            Disconnect();         
                                                return 1;
                                        }//if(find)
                                }//for()
                          Disconnect();
                          return 0;
        }//if(Choose==3),find if the present reader has borrowed the book

究竟两段代码不同在哪里啊!?望各位高手指教!
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-9-22 03:09

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表