Mercurial > urweb
comparison tests/pquery.ur @ 297:59dc042629b9
pquery working with all four types of columns
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 07 Sep 2008 13:29:01 -0400 |
parents | 5dc11235129d |
children | 43f35291433d |
comparison
equal
deleted
inserted
replaced
296:5dc11235129d | 297:59dc042629b9 |
---|---|
1 table t1 : {A : int, B : string, C : float, D : bool} | 1 table t1 : {A : int, B : string, C : float, D : bool} |
2 | 2 |
3 fun lookup (inp : {B : string}) = | 3 fun display (q : sql_query [T1 = [A = int, B = string, C = float, D = bool]] []) = |
4 s <- query (SELECT * FROM t1 WHERE t1.B = {inp.B}) | 4 s <- query q |
5 (fn fs _ => return fs.T1) | 5 (fn fs _ => return (Some fs.T1)) |
6 {A = 0, B = "Couldn't find it!", C = 0.0, D = False}; | 6 None; |
7 return <html><body> | 7 return <html><body> |
8 A: {cdata (show _ s.A)}<br/> | 8 {case s of |
9 B: {cdata (show _ s.B)}<br/> | 9 None => cdata "Row not found." |
10 C: {cdata (show _ s.C)}<br/> | 10 | Some s => |
11 D: {cdata (show _ s.D)}<br/> | 11 <body> |
12 A: {cdata (show _ s.A)}<br/> | |
13 B: {cdata (show _ s.B)}<br/> | |
14 C: {cdata (show _ s.C)}<br/> | |
15 D: {cdata (show _ s.D)}<br/> | |
16 </body>} | |
12 </body></html> | 17 </body></html> |
18 | |
19 fun lookupA (inp : {A : string}) = | |
20 display (SELECT * FROM t1 WHERE t1.A = {readError _ inp.A : int}) | |
21 | |
22 fun lookupB (inp : {B : string}) = | |
23 display (SELECT * FROM t1 WHERE t1.B = {inp.B}) | |
24 | |
25 fun lookupC (inp : {C : string}) = | |
26 display (SELECT * FROM t1 WHERE t1.C = {readError _ inp.C : float}) | |
27 | |
28 fun lookupD (inp : {D : string}) = | |
29 display (SELECT * FROM t1 WHERE t1.D = {readError _ inp.D : bool}) | |
13 | 30 |
14 fun main () : transaction page = return <html><body> | 31 fun main () : transaction page = return <html><body> |
15 <lform> | 32 <lform> |
33 A: <textbox{#A}/> | |
34 <submit action={lookupA}/> | |
35 </lform> | |
36 | |
37 <lform> | |
16 B: <textbox{#B}/> | 38 B: <textbox{#B}/> |
17 <submit action={lookup}/> | 39 <submit action={lookupB}/> |
40 </lform> | |
41 | |
42 <lform> | |
43 C: <textbox{#C}/> | |
44 <submit action={lookupC}/> | |
45 </lform> | |
46 | |
47 <lform> | |
48 D: <textbox{#D}/> | |
49 <submit action={lookupD}/> | |
18 </lform> | 50 </lform> |
19 </body></html> | 51 </body></html> |