Database - functionality for front end application

Pierre Sahores psahores at easynet.fr
Sun Nov 16 04:57:28 EST 2003


Le dim 16/11/2003 à 07:43, Melvin Cox a écrit :

-- snip --
> 
> Problem Two: Placing the current time into a field
> ------------------
> 
> Just prior to an insert or update of any row, I wish to populate the form's 
> Last_update field with a datetime value reflecting the current date and time 
> (ie. "2003-11-14 13:17:39.250").
> 
> How can this best be implemented?
> 

Pick in the basic procs below the way in witch i'm inserting datetime
refs (french format, to be changed for you) in my inserted/updated
records (in sending the queries to PostgreSQL via a piped shell comand).


> function parsesql s
>   global PgPath
>   repeat for each char c in s
>     try
>       if chartonum(c) > 223
>       then put "&#" & chartonum(c) & ";" after t
>       else if chartonum(c) > 191
>       then put "&#" & chartonum(c) & ";" after t
>       else put c after t
>     catch errornum
>       if c is not char 1 of s
>       then if c is not char -1 of s
>       then put "_" after t
>     end try
>   end repeat
>   replace "\" with "" in t
>   replace "[" with "&" in t
>   replace "]" with "\" in t
>   return shell("echo" && quote & t & quote && "|" && PgPath)
> end parsesql
> 
> 
> 
> function presave r
>   set itemdel to "¶"
>   put item 1 of r into s
>   put item 2 of r into t
>   set itemdel to "&"
>   replace numtochar(10) with "##10;#" in s
>   replace "\'" with "##11;#" in s
>   replace numtochar(34) with "##34;#" in s
>   replace "##11;###11;#" with "" in s
>   if "NRC=insert" is in s then put item itemoffset("rneetabl=",s) of s & return into datatosave
>   repeat for each item i in s
>     if char 1 to 4 of i is t then put i & return after datatosave
>   end repeat
>   repeat for each char c in datatosave
>     try
>       if c is "_"
>       then put " " after datatosavec
>       else if chartonum(c) > 223
>       then put "&#" & chartonum(c) & ";" after datatosavec
>       else if chartonum(c) > 191
>       then put "&#" & chartonum(c) & ";" after datatosavec
>       else if chartonum(c) = 39
>       then put "&#" & chartonum(c) & ";" after datatosavec
>       else put c after datatosavec
>     catch errornum
>       if c is not char 1 of datatosave
>       then if c is not char -1 of datatosave
>       then put "_" after datatosavec
>     end try
>   end repeat
>   set itemdelimiter to "/"
>   put item 2 of the short date & "/" & item 1 of the short date & "/" & item 3 of the short date into aa
>   if length(item 1 of aa) = 1 then put "0" before item 1 of aa
>   if length(item 2 of aa) = 1 then put "0" before item 2 of aa
>   put "20" before item 3 of aa
>   if "rneetabl" is in datatosavec then
>     put " ( " into insertcolnames
>     put " values ( " into insertcoldatas
>     repeat for each line l in datatosavec
>       if l is line -1 of datatosavec then
>         put char 1 to 8 of l && ") " after insertcolnames
>         put "'" & aa & "' ) " after insertcoldatas
>       else
>         put char 1 to 8 of l && ", " after insertcolnames
>         put "'" & char 10 to -1 of l & "' , " after insertcoldatas
>       end if
>     end repeat
>     put insertcolnames && insertcoldatas into updatecols
>   else
>     repeat for each line l in datatosavec
>       if l is line -1 of datatosavec then put char 1 to 8 of l && "= '" & aa & "'" after updatecols
>       else put char 1 to 8 of l && "= '" & the char 10 to -1 of l & "' , " after updatecols
>     end repeat
>   end if
>   return updatecols
> end presave

> 
> Problem Three: Forcing All Caps
> --------------------
> 
> To insure data integrity, my application design requires entry of data into 
> the "Pid" field in UPPER CASE format.
> 
> While I have been successful in limiting the length of the data entered in 
> this field to ten (10) characters or less, my attempts to force 
> CAPITALIZATION have to date failed.  The following script is currently 
> applied to the field:

>From within Rev, just use the toUpper(x) transcript build-in function.

Hope this help,
> 
> ===================================
> 
> on keyDown theKey
>   if the length of me >= 10 then beep
>   else pass keyDown
> end keyDown
> 
> ===================================
> 
> Any assistance in these areas is most sincerely appreciated.
> 
> 
> 
> Melvin Cox
> BCM Productions
> 
> _________________________________________________________________
> Frustrated with dial-up? Get high-speed for as low as $26.95.  
> https://broadband.msn.com (Prices may vary by service area.)
> 
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution

-- 
Bien cordialement, Pierre Sahores

100, rue de Paris
F - 77140 Nemours

psahores at easynet.fr

GSM:   +33 6 03 95 77 70
Pro:   +33 1 41 60 52 68
Dom:   +33 1 64 45 05 33
Fax:   +33 1 64 45 05 33

Inspection académique de Seine-Saint-Denis
Applications et SGBD ACID SQL (WEB et PGI)
Penser et produire "delta de productivité"


More information about the use-livecode mailing list