too_basic.cpp
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. /****** THIS LINE IS 80 CHARACTERS WIDE - DO *NOT* EXCEED 80 CHARACTERS! ****/
  14. #include <ndb_global.h>
  15. #include <NdbOut.hpp>
  16. //#include <cfg/cfg_db.h>
  17. //#include <init/init_start_restart.h>
  18. //#include "pcn_types.h"
  19. //#include <testing/testing.h>
  20. extern "C" {
  21. #include <cfg_db.h>
  22. }
  23. typedef struct Employee {
  24.     UInt32_t   EmpNo;
  25.     char       FirstName[22];
  26.     char       LastName[22];
  27. } Employee_t;
  28. #define CHECK_DB_CALL( Call ) 
  29.    CheckDbCall( Call, #Call, __FILE__, __LINE__ )
  30. /* --- Exported functions --- */
  31. /*---------------------------------------------------------------------------*/
  32. int main() {
  33.   char EMP_TABLE_NAME[] = "employees";
  34.   
  35.   Employee_t t;
  36.   
  37.   CFG_DbColumnDesc_t   EmpColDesc[] = {
  38.     { "first_name", CFG_DB_CHAR, PCN_SIZE_OF( Employee, FirstName ), 
  39.       PCN_FALSE },
  40.     { "emp_no", CFG_DB_INT, PCN_SIZE_OF( Employee, EmpNo ), PCN_TRUE },
  41.     { "last_name", CFG_DB_CHAR, PCN_SIZE_OF( Employee, LastName ), 
  42.       PCN_FALSE },
  43.   };
  44.   
  45.   int EmpNbCol = 3;
  46.   
  47.   
  48.   
  49.   CFG_DbColumnBinding_t ColBindings[] = {
  50.     CFG_DB_BINDING( "last_name", CFG_DB_CHAR, Employee, LastName ),
  51.     CFG_DB_BINDING( "emp_no", CFG_DB_INT, Employee, EmpNo ),
  52.     CFG_DB_BINDING( "first_name", CFG_DB_CHAR, Employee, FirstName)
  53.   };
  54.   
  55.   
  56.   Employee_t EMP_TABLE_DATA[] = {
  57.     { 1242, "Joe", "Dalton" },
  58.     { 123, "Lucky", "Luke" },
  59.     { 456, "Averell", "Dalton" },
  60.     { 8976, "Gaston", "Lagaffe" }
  61.   };
  62.   
  63.   
  64.   char* DbName;
  65.   
  66.   DbName = NULL;
  67.   
  68.     // On Linux: will destroy the table to start from a clean slate. 
  69.      
  70.     CFG_DbDestroy();
  71.     CFG_DbOpen( &DbName ) ;
  72.     CFG_DbCreateTable( EMP_TABLE_NAME,
  73.        EmpNbCol, EmpColDesc );
  74.     
  75.     CFG_DbTableExists( EMP_TABLE_NAME );
  76.     //#ifndef CELLO_PLATFORM
  77.     //CHECK_DB_CALL( CFG_DbDumpSchema( stdout ) );
  78.     //#endif 
  79.     CFG_DbClose();
  80.     //    INIT_StopSystem();
  81.