Sample 3 (unknown.csl)

C Scripting Language
Reference Manual
Version 4.4.0

<< Back  End  Next >>
 
 
INDEX
Introduction
Installation
Using the CSL executive
Language
Directives
System library
String library
Math library
Regular expression lib.
File library
Database library
   daxCheckCursor
   daxCommit
   daxConnect
   daxDatabase
   daxDisconnect
   daxDispose
   daxDone
   daxFetch
   daxLiteral
   daxParse
   daxRollback
   daxRowsProcessed
   daxSelectColumnName
   daxSelectColumns
   daxSelectColumnSize
   daxSelectColumnType
   daxSimple
   daxSupply
   Sample 1 (toys.csl)
   Sample 2 (portable.csl)
   Sample 3 (unknown.csl)
Async Communication
Registry/Profile handling
Windows control
C API
C++ Class Interface
CSL links
  

Example selecting an table with unknown column layout

#loadLibrary 'ZcSysLib'
#loadLibrary 'ZcStrLib'
#loadLibrary 'ZcDaxLib'
 
main()
{
  // check arguments
  if (sizeof(mainArgVals) < 4) {
    const exc[3] = {
      'usage  : csl unknown [db:]name/password@connection tablename',
      ' ',
      'example: csl unknown DB2:SCOTT/TIGER@SALES EMP'
    };
    throw exc;
  }
 
  // connect
  var name, pass, conn, db, a = 2;
  name = strSplitConnectString(mainArgVals[a++],pass,conn,db);
  if (db == '') db = 'MYSQL'; // default db
  var lnk = daxConnect(db,conn,name,pass);
 
  // start processing
  var csr = daxParse(lnk, 'select * from '|mainArgVals[a]|' order by 1');
  var cols = daxSelectColumns(csr);
  var line, size[cols];
 
  // display title
  for (var i=0; i<cols; i++) {
    size[i] = daxSelectColumnSize(csr,i);
    line |=
      strSubString(
        daxSelectColumnName(csr,i),
        1, size[i]+1
      );
  }
  sysLog(line);
 
  // underline title
  line = '';
  for (i=0; i<cols; i++)
    line |= strSubString('',1,size[i],'-')|' ';
  sysLog(line);
 
  // query and display the rows
  var col[cols];
  while (daxFetch(csr, col)) {
    line = '';
    for (i=0; i<cols; i++)
      line |= strSubString(col[i],1,size[i])|' ';
    sysLog(line);
  }
  sysLog();
  sysLog(daxRowsProcessed(csr)|' row(s) selected');
  daxDisconnect(lnk);
}

The output might look like this:

IDENT    DESCR
-------- ------------------------------
1        leather football
7        tennis racket
15       rollerblades
 
3 row(s) selected
  Copyright © IBK Landquart Last revision: 27.05.2002 << Back  Top  Next >>