首页/技术开发/内容

一个用技巧强大的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 ;
   }

}

/*带入条件为 Where 以后的条件*/
BOOL CWdcDatabase::DeleteRecord(CString &sWhereDelete)
{
   RETCODE rc  ;
   unsigned char szSQLSTATE[6] ;
   SDWORD nErr ;
   unsigned char msg[MAX_ERROR_MSG+1] ;
   SWORD cbmsg ;

   CString sTemp ;

   if(!m_bOpen)
    return FALSE ;

   m_sQuery = "" ;
   m_sErrMsg = "" ;
   
   /*开始构造删除语句*/
   m_sQuery.Format("Delete From %s ",m_sTable) ;

/* int ff =0 ;
   for(int f= 0 ;f<m_nFields;f++)
   {
    if(m_bKeyField[f]) /*如果是表的主键
       {
         if(ff>0) /*如果主键超过2个,要把条件连接起来
    m_sQuery += " AND " ;
   ff++ ;

        if (m_bNumeric[f])
   sTemp.Format("%s=%s",m_sFieldName[f],m_sFieldValue[f]) ;
    else
   sTemp.Format("%s=%s",m_sFieldName[f],Quote(m_sFieldValue[f])) ;
         
    m_sQuery += sTemp ;
    }
   }
*/
    if(sWhereDelete !="")
       m_sQuery +=" Where " + sWhereDelete ;

    TRACE0(m_sQuery) ;
memset((char*)szQuery,0x00,sizeof(szQuery)) ;
    strcpy((char*)szQuery,m_sQuery) ;
    SQLAllocStmt(hdbc,&hstmt) ;
    rc = SQLExecDirect(hstmt,
                 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页 

……

相关阅读