|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
) T/ J& [( S7 X0 b
: y3 v, [- Y2 L3 l* O0 q
: v9 u7 w$ u, @: b- M9 g
Technique # X: J2 S3 e5 @( E
Use the Innovator.applySQL( … ) method to submit SQL direct to the database. This . J; j" o* z% D6 q! v3 O2 O
recipe returns the XML from the applySQL() method and forms HTML for a table to
( j: v5 O9 M, ddisplay the data. - `. p& N: P# X+ i' |4 T" t7 B* H
+ f3 W( p# _3 S2 K& n
! ~8 a" f2 x; _6 nC#
7 @4 r' W& K+ I# vInnovator myInnovator = this.newInnovator();
0 W0 q4 f0 A5 [& y. e/ F* d8 SItem results = myInnovator.applySQL(
1 s* l) w3 s0 e {# h "select login_name,first_name,last_name,email " + / j F9 v+ e, l+ u4 g5 |8 h6 b
"from [user] " +
5 |# m a6 q7 Q. C; [ "order by last_name,first_name");
8 A, A) {/ ^$ Q1 r
6 ]) n0 j1 _$ j. C) v9 vstring content = "" +
( E/ @: n3 T6 {' q "<style type='text/css'>" + ; [7 A' q# k" i0 y! i7 p1 q$ h
"table {background:#000000;}" + ; c* m& [: @$ [" c7 R7 Z
"th {font:bold 10pt Verdana; background:#0000FF; color:#FFFFFF;}" + " s! o; X" y, }; F1 _$ j
"td {font:normal 10pt Verdana; background:#FFFFFF;}" + ; L$ F" w4 H; c4 w' v, n
"caption {font:bold 14pt Verdana; text-align:left;}" + % S4 j6 Q6 E7 `5 m
"</style>" + 7 G% C0 I; e) N) \ L( c
"<table id='tbl' border='0' cellspacing='1' cellpadding='2' datasrc='#itemData'>" + R( t! F; ?, m8 J" J
"<caption>User Directory</caption>" +
?& k4 o2 z& D j$ ] "<thead>" + ( V# O7 ]4 X1 c% e
"<tr>" + 8 W. i6 Q: \/ w$ E" K: C+ n
"<th>Login Name</th>" +
1 f1 j! K. q! m5 r/ s8 y7 w; v "<th>First Name</th>" +
+ f+ t) `( c0 i8 M3 N5 L "<th>Last Name</th>" + 2 ~$ i% p4 f ^4 g4 B
"<th>EMail</th>" + ; `' ]5 H- U' N+ ?
"</tr>" +
[) P& H% ?: i3 y "</thead>" + k# L* q7 R/ y6 C3 _% C
"<tbody>"; 1 W2 u' a5 J9 i/ b0 ]
A- k3 ^2 C0 zXmlNodeList users = results.dom.SelectNodes("//recordset/row"); ( n) N5 `* x. ]5 B
for (int i=0; i<users.Count; i++) { % U% r% _, ^2 ~2 `! s+ v, _
content += "<tr><td>" + ((users.SelectSingleNode("login_name") != null) ?
6 ~2 u& T1 t9 v users.SelectSingleNode("login_name").InnerText : "") + "</td>";
2 U; s3 R/ K5 a% {
+ {4 [8 k/ y) w7 X* J* x& ~ content += "<td>" + ((users.SelectSingleNode("first_name") != null) ? & F, U0 p+ D0 [/ W9 o w6 B
users.SelectSingleNode("first_name").InnerText : "") + "</td>";
0 w2 g, \* r" ]; b/ i1 [3 n
$ R% u& } |1 R( a" o content += "<td>" + ((users.SelectSingleNode("last_name") != null) ?
- |; S; u9 f% m$ A% m% R- T8 { users.SelectSingleNode("last_name").InnerText : "") + "</td>";
8 d8 R H' Q' n2 P7 d 7 ^6 [7 d1 D/ ]5 F9 Y
content += "<td>" + ((users.SelectSingleNode("email") != null) ?
% l: @7 }5 Q- \+ H# g: h) ^! L users.SelectSingleNode("email").InnerText : "") + "</td></tr>"; / H! `6 u$ E R' G+ |
; r3 [! @' E( w9 o/ ~- ~: D" g$ a
}
/ ]$ m. c7 ^) M+ Y 7 y% B& X$ z$ r5 c- ]
content += "" + ( Y( r; E# n5 r+ E
"</tbody>" + + {% W4 V% D/ s' I7 s! L
"</table>"; 3 U& T5 a% b; B& n3 m% c3 S h5 i
^1 _: f& x( n ?" R/ h
return myInnovator.newResult(content); % e' U0 l( ^) p) h- Y- N- G
# C) r2 U1 q; Q* M1 H' [3 N0 F* l
|
|