/*================================================================= Copyright (C) 2000-2013 BizStation Corp All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. =================================================================*/ #include "nsTable.h" #include <stdio.h> namespace bzs { namespace db { namespace protocol { namespace tdap { namespace client { _TCHAR* getErrorMessageLocale(int errorCode, _TCHAR* buf, size_t size) { const _TCHAR* p = 0x00; switch (errorCode) { case STATUS_LOCK_ERROR: case STATUS_FILE_LOCKED: case STATUS_CANNOT_LOCK_TABLE:p = _T("This record is locked already by other user");break; case STATUS_CHANGE_CONFLICT:p = _T("Change of this record is conflicted with other user's"); break; case STATUS_TABLE_YET_OPEN: p = _T("This table has not been opened yet");break; case STATUS_DURING_TRANSACTION: p = _T("This table is still during a transaction.It cannot close");break; case STATUS_NO_ACR_UPDATE_DELETE: p = _T("Does not have access rights of Updates or Deletes");break; case STATUS_NO_ACR_INSERT: p = _T("Does not have access rights of Inserts");break; case STATUS_NO_ACR_READ: p = _T("Does not have access rights of Reads");break; case STATUS_CANT_ALLOC_MEMORY: p = _T("Memory was not able to be allocated");break; case STATUS_USE_KEYFIELD: p = _T("This field is used by the key,that cannot be deleted");break; case STATUS_TOO_MANY_TABLES: p = _T("There are too many tables");break; case STATUS_INVARID_PRM_KEY_NUM: p = _T("Primarykey number is invalid");break; case STATUS_INVARID_PNT_KEY_NUM: p = _T("Parentkey number is invalid");break; case STATUS_INVARID_REP_KEY_NUM: p = _T("Replicakey number is invalid");break; case STATUS_INVARID_FIELD_IDX: p = _T("The field index is out of range");break; case STATUS_ALREADY_DELETED: p = _T("This item is deleted already");break; case STATUS_LMITS_MAX_TABLES: p = _T("It is over the maximum of the table which can be opened");break; case STATUS_DB_YET_OPEN: p = _T("This database has not been opened yet");break; case STATUS_TABLENAME_NOTFOUND: p = _T("The specified table name is not found");break; case STATUS_DIFFERENT_DBVERSION: p = _T("The database version was different or it has damaged");break; case STATUS_DUPLICATE_FIELDNAME: p = _T("Illegal duplicate field name");break; case STATUS_INVALID_TABLE_IDX: p = _T("The table index is out of range");break; case STATUS_AUTH_DENIED: p = _T("The user name or The password is invalid.");break; case STATUS_TOO_MANY_FIELDS: p = _T("There are too many fields");break; case STATUS_FILTERSTRING_ERROR: p = _T("The filter character string has an error");break; case STATUS_INVALID_FIELDLENGTH: p = _T("Field length is out of range");break; case STATUS_INVALID_KEYTYPE: p = _T("The specified key type cannot be used");break; case STATUS_LVAR_NOTE_NOT_LAST: p = _T("If Note or a Lvar type is not the last of a record, it will not become");break; case STATUS_NODEF_FOR_CONVERT: p = _T("There is no definition of the origin to convert");break; case STATUS_TOO_LONG_OWNERNAME: p = _T("The owner name is too long");break; case STATUS_CANT_DEL_FOR_REL: p = _T("It cannot delete because of relationship");break; case STATUS_NO_AUTOINC_SPACE: p = _T("There is no space of the auto increment number");break; case STATUS_INVALID_RECLEN: p = _T("It is not opened table or invalid the record length definition");break; case STATUS_INVALID_FIELDVALUE: p = _T("The field value is not right");break; case STATUS_INVALID_VALLEN: p = _T("The length of the variable-length record is over buffer size.");break; case STATUS_FIELDTYPE_NOTSUPPORT: p = _T("this field type is not supported.");break; case STATUS_DUPPLICATE_KEYVALUE: p = _T("Illegal duplicate key value");break; case STATUS_REQUESTER_DEACTIVE:p = _T("Client database engine cannot be loaded");break; case STATUS_ACCESS_DENIED: p = _T("Does not have access rights of changes\nThe table is opened read-only or its password is not right. ");break; case STATUS_CANT_CREATE:p = _T("Cannot create databse. Please check the database exists already.") ;break; default: _stprintf_s(buf, size, _T("The error occurred by database operation. \nThe error code is %d.\nProcessing is stopped."), errorCode); } if (p) { _tcsncpy(buf, p, size); buf[size -1] = 0x00; } return buf; } }// namespace client }// namespace tdap }// namespace protocol }// namespace db }// namespace bzs