home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 January / Chip_1997-01_cd.bin / ms95 / disk22 / dir08 / f000700.re_ / f000700.re
Text File  |  1996-04-02  |  4KB  |  117 lines

  1. ' Basic program to create and manipulate table 
  2. '
  3. '--------------------------------------------------------------------
  4. '
  5. '  Copyright (1995) Bentley Systems, Inc., All rights reserved.
  6. '
  7. '   $Workfile:   dbquery.bas  $
  8. '   $Revision:   6.0  $
  9. '       $Date:   05 Sep 1995 11:25:12  $
  10. '
  11. '  "MicroStation" is a registered trademark of Bentley Systems, Inc. 
  12. '
  13. '  Limited permission is hereby granted to reproduce and modify this
  14. '  copyrighted material provided that the resulting code is used only
  15. '  in conjunction with Bentley Systems products under the terms of the
  16. '  license agreement provided therein, and that this notice is retained
  17. '  in its entirety in any such reproduction or modification.
  18. '
  19. '--------------------------------------------------------------------
  20.  
  21. '-------------------------------------------------------------
  22. '
  23. '   main - Entry point
  24. '
  25. '-------------------------------------------------------------
  26. Sub main
  27.     dim tb    as New MbeTable
  28.     dim sqlda as New MbeSqlda
  29.  
  30. '-- create a new table 
  31.  
  32.     tb.name = "mbe001"
  33.     tb.create "firstname char(20), lastname char(20), mslink int"
  34.  
  35. '-- insert 10 records
  36.  
  37. '-- insert records by specifying values in the same order as that of fields
  38.  
  39.     tb.recordInsert "'Mark', 'Smith',1"
  40.     tb.recordInsert "'Alex', 'Farmer',2"
  41.     tb.recordInsert "'Michael', 'Smith',3"
  42.     tb.recordInsert "'Susan', 'Smith',4"
  43.     tb.recordInsert "'Brian', 'Jacobs', 5"
  44.  
  45. '--- insert by values and in any order 
  46.  
  47.     tb.recordInsert "mslink, firstname, lastname values 6, 'Bill', 'Brown'"
  48.     tb.recordInsert "mslink, firstname, lastname values 7, 'Tim', 'Best'"
  49.     tb.recordInsert "mslink, firstname, lastname values 8, 'Brad', 'Miller'"
  50.  
  51.     tb.recordInsert "firstname,lastname, mslink values 'Tom','Brown', 9"
  52.     tb.recordInsert "firstname,lastname, mslink values 'Matt','Smith', 10"
  53.      
  54. '---- create a query
  55.  
  56.     tb.criteria = "where lastName = 'Smith'"
  57.  
  58.     If tb.recordFirst(sqlda) = MBE_Success Then
  59.     
  60. '--- output the result
  61.         
  62.         print "Last Name : Smith"
  63.         print tab(2); "First Name"; tab(24); "mslink"
  64.         Do
  65.           print tab(2);sqlda.value(0);tab(24);sqlda.value(2)
  66.         Loop while tb.recordNext (sqlda) = MBE_Success    
  67.     End If
  68.  
  69. '---- create another query 
  70.  
  71.     tb.criteria = "firstname, lastname where mslink > 5"
  72.  
  73.     If tb.recordFirst(sqlda) = MBE_Success Then
  74.      print
  75.      print "Query #2: mslink > 5"
  76.      print "Name"
  77.      Do
  78.       print sqlda.value(0);" ";sqlda.value(1)
  79.      Loop while tb.recordNext (sqlda) = MBE_Success
  80.     End If      
  81.  
  82. '--- update records #5 and #6
  83.  
  84.     tb.recordUpdate 5, "firstname='Robert', lastname='Medlock'"
  85.     tb.recordUpdate 6, "lastname='Gayle'"
  86.  
  87. '--- delete record #10
  88.  
  89.     tb.recordDelete  10
  90.  
  91. '-- find the current last record
  92.     tb.criteria = ""    
  93.  
  94.     If tb.recordLast(sqlda) = MBE_Success Then
  95.      print
  96.      print "Query #3: last record after delete"
  97.      print tab(2);"Name";tab(44);"mslink"
  98.      print tab(2);sqlda.value(0);" ";sqlda.value(1);tab(44);sqlda.value(2)
  99.     End If      
  100.  
  101. '-- report all the records
  102.  
  103.     If tb.recordFirst(sqlda) = MBE_Success Then
  104.      print
  105.      print "Query #4"
  106.      print tab(2);"Name";tab(44);"mslink"
  107.      Do
  108.       print tab(2);sqlda.value(0);" ";sqlda.value(1);tab(44);sqlda.value(2)
  109.      Loop while tb.recordNext (sqlda) = MBE_Success
  110.     End If
  111.  
  112. '--- drop the table
  113.     
  114.     tb.drop
  115.             
  116. End sub
  117.