home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / csso0301.zip / SAMPLES / DAX / PORTABLE.CSS next >
Cascading Style Sheet File  |  2000-02-11  |  3KB  |  102 lines

  1. /*  Copyright (c) 1998-2000 IBK-Landquart-Switzerland. All rights reserved.
  2.  *
  3.  *  Module      :  Portable.css
  4.  *  Application :  Modified toys example running on either database
  5.  *  Author      :  Peter Koch, IBK
  6.  *
  7.  *  Date        Description                                 Who
  8.  *  --------------------------------------------------------------------------
  9.  *  Feb 1998    First release                               P.Koch, IBK
  10.  *  Feb 1998    Modified for V0.12                          P.Koch, IBK
  11.  *  Feb 2000    Modifications for V2.00                     P.Koch, IBK
  12.  */
  13. #loadLibrary 'KcSysLib'
  14. #loadLibrary 'KcStrLib'
  15. #loadLibrary 'KcDaxLib'
  16.  
  17. main()
  18. {
  19.   // check arguments
  20.   if (sizeof(mainArgVals) < 3) {
  21.     const exc[3] = {
  22.       'usage  : CSS PORTABLE db:name/password@connection',
  23.       '         (db defaults to DB2)',
  24.       'example: CSS PORTABLE SCOTT/TIGER@SALES'
  25.     };
  26.     throw exc;
  27.   }
  28.  
  29.   sysLog('connect');
  30.   var db, name, pass, conn, a = 2;
  31.   name = strSplitConnectString(mainArgVals[a],pass,conn,db);
  32.   if (db == '') db = 'DB2';
  33.   var link, integer, varchar;
  34.   switch (db) {
  35.     case 'DB2':
  36.       varchar = 'varchar';
  37.       integer = 'integer';
  38.       break;
  39.     case 'ORACLE':
  40.       varchar = 'varchar2';
  41.       integer = 'number(6)';
  42.       break;
  43.     default:
  44.       throw '%%% unknown db: '|db;
  45.   } // switch
  46.   link = daxConnect(db, conn, name, pass);
  47.  
  48.   sysLog('running on '|daxDatabase(link));
  49.  
  50.   try {
  51.     sysLog('drop old table');
  52.     daxSimple(link, 'drop table csstest');
  53.     daxCommit(link);
  54.   }
  55.   catch (var exc[]) {
  56.     sysLog('no old table to drop');
  57.   }
  58.  
  59.   daxSimple(link,
  60.     'create table csstest ( '
  61.        'ident '|integer|', '
  62.        'descr '|varchar|'(30)'
  63.     ')'
  64.   );
  65.  
  66.   sysLog('insert rows');
  67.   var toys = {
  68.     1, 'barbie',
  69.    12, 'football',
  70.   325, 'tomb raider II',
  71.    18, 'flipper'
  72.   };
  73.   var csr = daxParse(link,
  74.               'insert into csstest(ident,descr) '
  75.               'values (#, #30)'
  76.             );
  77.   daxSupply(csr,toys);
  78.   daxDone(csr);
  79.   daxDispose(csr);
  80.   daxCommit(link);
  81.  
  82.   sysLog(
  83.     '# of rows in csstest is '|
  84.     daxSimple(link, 'select count(*) from csstest')
  85.   );
  86.  
  87.   sysLog('query rows');
  88.   csr = daxParse(link,
  89.     'select ident, descr from csstest '
  90.      'where ident between # and # '
  91.      'order by ident'
  92.   );
  93.   var vals = { 10, 1000 };
  94.   daxSupply(csr, vals);
  95.   while (daxFetch(csr, vals))
  96.     sysLog(vals[0]|' - '|vals[1]);
  97.  
  98.   sysLog('disconnect');
  99.   daxDisconnect(link);
  100. }
  101.  
  102.