home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / dbcorpch.tcl < prev    next >
Text File  |  1996-10-03  |  2KB  |  74 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. # Copyright (c) 1996 by Cayenne Software Inc.
  4. #
  5. # This software is furnished under a license and may be used only in
  6. # accordance with the terms of such license and with the inclusion of
  7. # the above copyright notice. This software or any other copies thereof
  8. # may not be provided or otherwise made available to any other person.
  9. # No title to and ownership of the software is hereby transferred.
  10. #
  11. # The information in this software is subject to change without notice
  12. # and should not be construed as a commitment by Cayenne Software Inc.
  13. #
  14. #---------------------------------------------------------------------------
  15. #
  16. #    File        : %W%
  17. #    Author        : edri
  18. #    Original date    : 16-9-1996
  19. #    Description    :
  20. #
  21. #---------------------------------------------------------------------------
  22.  
  23. proc finish {code file result} {
  24.     if {$code == 0} {
  25.         puts $file OK
  26.     } else {
  27.     puts $file ERROR
  28.     }
  29.     puts $file $result
  30.     close $file
  31.     exit $code
  32. }
  33.  
  34. set resultFile [lindex $argv 0]
  35. if {$resultFile == ""} {
  36.     puts stderr "No result file as first argument specified."
  37.     exit 1
  38. }
  39.  
  40. if [catch {set file [open $resultFile w]} error] {
  41.     puts stderr $error
  42.     exit 1
  43. }
  44.  
  45. if {[llength $argv] < 1} {
  46.     finish 1 $file "Usage: cbcorpch.tcl <resultFile> <name>=<value> ..."
  47. }
  48.  
  49. if ![db connected] {
  50.     finish 1 $file "Could not connect to database."
  51. }
  52.  
  53. db begin
  54. db update corporate0
  55.  
  56. foreach pair [lrange $argv 1 end] {
  57.     set list [split $pair =]
  58.     set name [lindex $list 0]
  59.     set value [lindex $list 1]
  60.  
  61.     db set -s $name $value
  62. }
  63.  
  64. if [catch {db run} error] {
  65.     catch {db rollback}
  66.     finish 1 $file $error
  67. }
  68.  
  69. if [catch {db commit} error] {
  70.     finish 1 $file $error
  71. }
  72.  
  73. finish 0 $file "done"
  74.