sqlcolattributetest1.cpp
来自「MySQL数据库开发源码 值得一看哦」· C++ 代码 · 共 144 行
CPP
144 行
/* Copyright (C) 2003 MySQL AB 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 *//** * @file SQLColAttributeTest1.cpp */#include <common.hpp>using namespace std;#define MAXIMUM_MESSAGE_LENGTH_Test1 200#define BufferLenghTest1 156SQLHSTMT ColAtt_hstmtTest1;SQLHSTMT ColAtt_hdbcTest1;SQLHENV ColAtt_henvTest1;SQLHDESC ColAtt_hdescTest1;SQLCHAR CharacterAttributePtrTest1;SQLINTEGER NumericAttributePtrTest1;SQLSMALLINT StringLengthPtrTest1;SQLRETURN ColAtt_retTest1;void ColAtt_DisplayErrorTest1(SQLSMALLINT ColAtt_HandleType, SQLHSTMT ColAtt_InputHandle);/** * Test returning descriptor information * * Tests: * -# Execute SQLColAttribute without prepared or executed statement * * @return Zero, if test succeeded */int SQLColAttributeTest1(){ ndbout << endl << "Start SQLColAttribute Testing1" << endl; /******************************************************************** ** Test : ** ** ** ** Checks to execute SQLColAttribute, when there is no ** ** prepared or executed statement associated with StatementHandle ** ** ** ** Intended result:CLI-specific condition-function sequence error ** ********************************************************************/ ColAtt_retTest1 = SQLColAttribute(ColAtt_hstmtTest1, 1, SQL_DESC_AUTO_UNIQUE_VALUE, &CharacterAttributePtrTest1, BufferLenghTest1, &StringLengthPtrTest1, &NumericAttributePtrTest1); if (ColAtt_retTest1 == SQL_ERROR) { ndbout << "ColAtt_ret = " << ColAtt_retTest1 << endl; ndbout << endl << "There is no prepared or executed" << endl << " statement associated with StatementHandle" << endl; ColAtt_DisplayErrorTest1(SQL_HANDLE_STMT, ColAtt_hstmtTest1); } else if (ColAtt_retTest1 == SQL_SUCCESS_WITH_INFO) { ndbout << "ColAtt_ret = " << ColAtt_retTest1 << endl; ndbout << endl << "There is no prepared or executed" << endl << " statement associated with StatementHandle" << endl; ColAtt_DisplayErrorTest1(SQL_HANDLE_STMT, ColAtt_hstmtTest1); } else if (ColAtt_retTest1 == SQL_SUCCESS) { ndbout << "ColAtt_ret = " << ColAtt_retTest1 << endl; ndbout << endl << "There is no prepared or executed" << endl << " statement associated with StatementHandle" << endl; ColAtt_DisplayErrorTest1(SQL_HANDLE_STMT, ColAtt_hstmtTest1); } else if (ColAtt_retTest1 == -2) { ndbout << "ColAtt_ret = " << ColAtt_retTest1 << endl; ndbout << endl << "There is no prepared or executed" << endl << " statement associated with StatementHandle" << endl; ColAtt_DisplayErrorTest1(SQL_HANDLE_STMT, ColAtt_hstmtTest1); } else { ndbout << "ColAtt_ret = " << ColAtt_retTest1 << endl; ndbout << endl << "There is no prepared or executed" << endl << " statement associated with StatementHandle" << endl; ColAtt_DisplayErrorTest1(SQL_HANDLE_STMT, ColAtt_hstmtTest1); } return NDBT_OK;}void ColAtt_DisplayErrorTest1(SQLSMALLINT ColAtt_HandleType, SQLHSTMT ColAtt_InputHandle){ SQLSMALLINT ColAtt_i = 1; SQLRETURN ColAtt_SQLSTATEs; SQLCHAR ColAtt_Sqlstate[5]; SQLCHAR ColAtt_Msg[MAXIMUM_MESSAGE_LENGTH_Test1]; SQLSMALLINT ColAtt_MsgLen; SQLINTEGER ColAtt_NativeError; ndbout << "-------------------------------------------------" << endl; ndbout << "Error diagnostics:" << endl; while ((ColAtt_SQLSTATEs = SQLGetDiagRec(ColAtt_HandleType, ColAtt_InputHandle, ColAtt_i, ColAtt_Sqlstate, &ColAtt_NativeError, ColAtt_Msg, sizeof(ColAtt_Msg), &ColAtt_MsgLen)) != SQL_NO_DATA) { ndbout << "the HandleType is:" << ColAtt_HandleType << endl; ndbout << "the InputHandle is :" << (long)ColAtt_InputHandle << endl; ndbout << "the ColAtt_Msg is: " << (char *) ColAtt_Msg << endl; ndbout << "the output state is:" << (char *)ColAtt_Sqlstate << endl; ColAtt_i ++; break; } ndbout << "-------------------------------------------------" << endl;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?