tcl script

From: Vijay Deval <deval(at)giaspn01(dot)vsnl(dot)net(dot)in>
To: "PostgreSQL(dot)org" <pgsql-novice(at)postgresql(dot)org>
Subject: tcl script
Date: 2002-12-05 12:17:21
Message-ID: 3DEF43D1.6555A124@giaspn01.vsnl.net.in
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

I extended Bruce Momjian's script for use with my application. It does
insert record into the desired table, but says "pg_recvbuf: unexpected
EOF on client connection. Where is the error?

here is the script that I have named as "inward"

#!/usr/local/pgsql/bin/pgtclsh
set conn [pg_connect test]; # connect to the database

puts -nonewline "Enter first three characters: " ;# prompt user for
a code
flush stdout
gets stdin code
;# send the query
set cmd "string toupper $code"
set ucode [eval $cmd]
set res [pg_exec $conn \
"SELECT name,clid \
FROM client\
WHERE upper(substring(name from 1 for 3)) = '$ucode' "]

set ntups [pg_result $res -numTuples]
if {$ntups==0} {puts stdout "No match found"; return} else {
for {set i 0} {$i < $ntups} {incr i} {
puts stdout [pg_result $res -getTuple $i];
}}

puts -nonewline "Enter client number: " ;# prompt user for a code
flush stdout
gets stdin mclid
;# send the query

set res [pg_exec $conn \
"SELECT jobkey,jobname\
FROM job\
where job.clid=client.clid and job.clid=$mclid"]

set ntups [pg_result $res -numTuples]
if {$ntups==0 } {puts stdout "No record found"; return} else {
for {set i 0} {$i < $ntups} {incr i} {
puts stdout [pg_result $res -getTuple $i];
} }

puts -nonewline "Enter jobcode: " ;# prompt user for a code
flush stdout
gets stdin jobno
;# send the query

puts -nonewline "Enter indoc no: " ;# prompt user for a code
flush stdout
gets stdin docno
;# send the query

puts -nonewline "Enter indoc date 'yyyymmdd' : " ;# prompt user for
a code
flush stdout
gets stdin datein
;# send the query

set res [pg_exec $conn \
"SELECT hlpstr\
FROM job\
WHERE jobkey=$jobno"]
set ntups [pg_result $res -numTuples]
set mstr [pg_result $res -getTuple 0];

puts -nonewline "Enter quantity $mstr: " ;# prompt user for a code
flush stdout
gets stdin qty
;# send the query
set res [pg_exec $conn \
"SELECT rate\
FROM job\
WHERE jobkey=$jobno"]

set ntups [pg_result $res -numTuples]
set mrate [pg_result $res -getTuple 0];
puts stdout $mrate
pg_result $res -clear

pg_exec $conn \
"insert into inmat (clid,jobkey, oc,ratex,indoc,indate,inqty) values
($mclid,$jobno,'O',$mrate,$docno,$datein,$qty);"

pg_disconnect $conn;

Vijay

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Michael Remijan 2002-12-05 13:57:10 support for replication
Previous Message douggorley 2002-12-05 07:05:00 Problem starting the postmaster