sqlbase.cpp

来自「简单的ODBC访问接口」· C++ 代码 · 共 86 行

CPP
86
字号
#include "SQLBase.h"

#include <windows.h>
#include "dt.h"
#include <assert.h>

//////////////////////////////////////////////////////////////////////
// CSQLBase Class
//////////////////////////////////////////////////////////////////////

const char CSQLBase::STRING         = 1;
const char CSQLBase::JULIAN_DATE    = 2;
const char CSQLBase::ODBC_DATE      = 3;
const char CSQLBase::ORACLE_DATE    = 4;
const char CSQLBase::DATE_YYYYMMDD  = 5;
const char CSQLBase::DATE_MMDDYYYY  = 6;
const char CSQLBase::DOUBLE         = 7;
const char CSQLBase::INTEGER        = 8;
const char CSQLBase::LONG           = 9;


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CSQLBase::CSQLBase()
{
   m_bConvertQuotes = true;
}

CSQLBase::~CSQLBase()
{
}

//////////////////////////////////////////////////////
// Methods
//////////////////////////////////////////////////////

void CSQLBase::SetTable( const char* tableName )
{
   _table = tableName;
}

CSQLBase& CSQLBase::operator= ( const char* tableName )
{
   _table = tableName;
   return *this;
}


void CSQLBase::ResetContent()
{
   _table = "";
   _stmt  = "";
}


bool CSQLBase::ConvertQuotes( string & s )
{
   if ( ! m_bConvertQuotes )
      return false;

   if ( s.find( '\'' ) == s.npos )
      return false;

   // [20011007]
   string substr1 = "'";
   string substr2 = "''";  // odbc accepts two single quotes as one
   for ( int p=s.find( "'" ); p >= 0; p=s.find( "'", p ) )
   {
      s.replace( p, 1, "''" );
      p += 2;
   }
   return true;
}

const char* CSQLBase::GetStatement()
{
   return _stmt.c_str();
}

void CSQLBase::SetStmt( const char *a_szStmt )
{
   _stmt = a_szStmt;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?