首页/技术开发/内容

一个用技巧强大的ODBC API 函数访问数据库类

技术开发2022-07-19 阅读()
rc == SQL_SUCCESS_WITH_INFO)
  {  
      SQLTransact(henv,hdbc,SQL_COMMIT);
   SQLFreeStmt(hstmt,SQL_DROP) ;
   return TRUE ;
  }
  else
  {  
  m_sErrMsg = "" ;
      while(SQLError(0,
               0,
      hstmt,
      szSQLSTATE,
      &nErr,
      msg,
      sizeof(msg) ,
      &cbmsg ) == SQL_SUCCESS )
      m_sErrMsg += "\t\t" +(CString) msg + "\n" ;
    
   SQLFreeStmt(hstmt,SQL_DROP) ;
   return FALSE ;
  }

}

/* 查找纪录---
返回值
    1: 即没有错误发生的找到纪录
    -1: 在查找过程中出现错误
    0: 查找过程当中没有错误出现,但是没有找到适合条件的纪录,即没有返回纪录  */
int CWdcDatabase::SelectMatchingRecords(CString &sWhereContext)
{
   unsigned char szSQLSTATE[6];
   SDWORD nErr ;
   unsigned char msg[MAX_ERROR_MSG+1] ;
   SWORD cbmsg ;
   CString sTemp ;

   char szData[MAX_DATA] ;
   SDWORD cbData ;
   RETCODE rc ;

   if(!m_bOpen)
    return -1 ;

   sTemp="" ;
   int ff=0 ;
   for(int j=0;j<m_nFields;j++)
   {
       if(ff>0)
     sTemp += "," ;
    ff ++ ;
    sTemp += m_sFieldName[j] ;
   }

   if(sWhereContext == "")
      m_sQuery.Format("Select %s from %s",sTemp,m_sTable) ;
   else
   m_sQuery.Format("Select %s From %s Where %s",sTemp,m_sTable,sWhereContext) ;

   SQLAllocStmt(hdbc,&hstmt_select) ;
   memset((char*)szQuery,0x00,sizeof(szQuery)) ;
   strcpy((char*)szQuery,m_sQuery) ;

   rc = SQLExecDirect(hstmt_select,
                   szQuery,
       SQL_NTS) ;
   m_nError = (int) rc ;

   if(rc == SQL_SUCCESS (北联网教程,专业提供视频软件下载)

第1页  第2页  第3页  第4页  第5页  第6页  第7页  第8页  第9页  第10页  第11页  第12页  第13页  第14页  第15页  第16页  第17页  第18页  第19页  第20页  第21页  第22页  第23页  第24页  第25页 

……

相关阅读