Develop and Download Open Source Software

Browse CVS Repository

Diff of /xoonips/AL/commonal.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.118.2.4 by aga4096, Fri Jun 30 02:46:02 2006 UTC revision 1.118.2.5 by aga4096, Thu Aug 24 09:59:20 2006 UTC
# Line 22  Line 22 
22   *   *
23   * $Revision$   * $Revision$
24   * $Log$   * $Log$
25     * Revision 1.118.2.5  2006/08/24 09:59:20  aga4096
26     * ・[ #8723 ] STABLE2 のALでDB接続文字コード指定  のパッチをあてた.
27     *
28   * Revision 1.118.2.4  2006/06/30 02:46:02  aga4096   * Revision 1.118.2.4  2006/06/30 02:46:02  aga4096
29   * ・MySQL5.0.22では certify.php で常に No items found. になる場合があるのを修正.   * ・MySQL5.0.22では certify.php で常に No items found. になる場合があるのを修正.
30   *   *
# Line 1165  string criteria2str( criteria* cri ) Line 1168  string criteria2str( criteria* cri )
1168      return sql;      return sql;
1169  }  }
1170    
1171    /**
1172     *
1173     * Set the character code for database connection
1174     *
1175     * @param type DBTYPE_MYSQL or DBTYPE_SQLITE
1176     * @return RES_OK
1177     * @return RES_DB_INITIALIZE_ERROR
1178     * @see result_t
1179     */
1180    static result_t setCharset( dbtype_t type ) {
1181        SQLRETURN sqlcode;
1182        SQLHANDLE hstmt = NULL;    
1183        string sql;
1184        result_t ret;
1185        ret = RES_OK;
1186    #ifdef USE_MYSQL_CHARSET
1187        if( type == DBTYPE_MYSQL ) {
1188            sql = "SET NAMES ";
1189            sql += MYSQL_CHARSET;
1190            if( ( sqlcode = SQLAllocHandle( SQL_HANDLE_STMT, hdbc, &hstmt ) ) == SQL_SUCCESS ) {
1191                if( ( sqlcode = SQLExecDirect( hstmt, (SQLCHAR*)sql.c_str(), sql.length() ) == SQL_SUCCESS ) ) {
1192                    ret = RES_OK;
1193                    syslog_printf( "setCharset succeed" );
1194                } else {
1195                    string s( "SQLExecDirect in setCharset ");
1196                    s += odbcDiagString( SQL_HANDLE_STMT, hstmt, sqlcode );
1197                    s += string( ", sql=" ) + string( sql );
1198                    setLastErrorString( s.c_str() );
1199                    ret = RES_DB_INITIALIZE_ERROR;
1200                }
1201                SQLFreeHandle( SQL_HANDLE_STMT, hstmt );
1202            } else {
1203                string s( "SQLAllocHandle in setCharset ");
1204                s += odbcDiagString( SQL_HANDLE_DBC, hdbc, sqlcode );
1205                setLastErrorString( s.c_str() );
1206                ret = RES_DB_INITIALIZE_ERROR;
1207            }
1208        }
1209    #endif
1210        return ret;
1211    }
1212    
1213    
1214  /**  /**
1215   *   *
# Line 1224  result_t initializeDB( const char* dsn, Line 1269  result_t initializeDB( const char* dsn,
1269          return RES_DB_CONNECT_ERROR;          return RES_DB_CONNECT_ERROR;
1270      }      }
1271      syslog_printf( "initializeDB succeed" );      syslog_printf( "initializeDB succeed" );
1272      return RES_OK;      return setCharset( dbtype );
1273  }  }
1274    
1275  /**  /**

Legend:
Removed from v.1.118.2.4  
changed lines
  Added in v.1.118.2.5

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26