- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
 |
< > </P>
1 T0 \, }+ m6 {& F< >杨超 </P>
* m$ S. w6 w; }- R2 c< > </P>
: ?9 A4 B% V" }< > 随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>( g. D- e5 ]8 x: ]
< >C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>- x1 c6 ^% h! i- q
< >写一行程序就生成漂亮的数据库程序。 </P>2 y& x3 P! Z* f( O; ^; I# l, z$ k
< > </P>2 l* w0 `; v6 v: \
< > 下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>6 a% @( D" }0 O, l
< > </P>, b9 L2 M+ I; E% Z h6 `$ U2 g
< > 一、DBGrid控件 </P>- T5 n$ \1 M( O
< > </P>
5 `# q- ~5 u' @% W4 v2 `5 k< > 1.设置DBGrid的字段显示宽度属性 </P>4 \+ B- K: d" U6 @ ]8 |" M+ S: k
< > </P>2 Y' L& G* \; {6 X s$ I. M
< > 为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>$ z* I2 N! }; d" \ R8 o
< >段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>) M. L. M8 b0 N/ O; _0 S! r
< >个字符或更少。 </P># T2 V; i" h2 A* M* m. k3 }$ A1 f n
< > </P>( S0 e' b& E& b; Y
< > 2.改变DBGrid的显示字段及日期显示格式 </P>
/ | p* ?& ^5 w4 j9 m< > </P>
( \0 _- t3 {7 Y$ U8 \< > (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>
! z6 M2 c3 E6 r$ Q0 d6 V; I< > </P>
. }6 ^$ k* h& x< > (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>
& h- z2 `. m* ]: H& C% `< >的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
. t0 q3 g W! F1 {0 G1 N< > </P>
6 Z1 I6 {& _& m; l0 F* p( v( \: T1 K< > (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>- K" U8 H( ~" r5 d6 Y
< >填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
" l" f2 A& F1 Q< >DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>7 x0 z0 [8 \9 Y+ t
< >1999-05-28格式显示。 </P>
& r* o- Z0 s. v) s3 G f e& k< > </P>) |$ ~# I0 d- ^# Q
< > 二、Tquery控件 </P>
0 D2 R$ R- S0 U" t+ t4 s<P> </P>
. G) Z3 O8 {) b% a9 Y3 m<P> Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>
( Q; I( t: t1 r" `% |<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>4 N, k/ @5 [* [3 l5 h6 P4 k
<P> </P>
7 f/ g+ Z; P* f2 L [3 j<P> </P>
- Q1 g1 Y7 ]/ ]( N<P> Tquery的参数设置如下: </P>$ _0 F9 l3 |# T1 a+ E5 q3 y: e
<P> </P>
8 K g+ a# r7 P \+ }<P> (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P># d* c/ b& T6 J# E# W
<P> </P>
$ ~& j) [9 J+ @+ O- ~, B<P> 跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P> f* x# c3 C/ {2 t" q
<P>据类型等。 </P># X W" n p: C4 {1 s1 F
<P> </P>
4 y3 o# Z- U5 _6 u, B: T<P> (2)对变量的赋值: </P>
: H& l3 H$ T: S2 K6 B: a<P> </P>- v+ N: y! s3 B2 Y1 j5 q" ^
<P> Query1-〉Active=false; </P>
* b3 Y0 `% h0 W! \/ F; X; l1 o2 r<P> </P>2 W3 X" a9 [+ F+ r5 A3 z, {% y. t, z
<P> Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>9 v! T8 P, z& u- C3 b) O
<P> </P>+ h$ i" U2 m8 O: ^1 P# L. p
<P> Query1-〉Active=true;//查找符合变量的记录 </P>
, l* s V! F3 N) g+ ?2 G* ^: Y6 j0 u5 }/ @<P> </P>3 t+ ^: F) a0 W' N9 ^" T( M1 K! L3 a
<P> (3)用DBGrid显示结果 </P>% _- e8 [( n2 u- h* d8 K+ h
<P> </P>3 X9 x3 h; X$ ~
<P> DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>- g) H- o" c3 V3 V
<P>Tquery1 连接。 </P>" s' S$ W- }) C6 A% y
<P> </P>) p$ N( y# @. a3 T5 W
<P> 三、应用示例 </P>
, O' k/ v& y5 l9 x" ]<P> </P>
) p& S! i* A0 ^4 |# E" K<P> 通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>! Z' S: N v, Q- @
<P> </P>, m) G W0 V( i. z4 v$ K
<P> 用一个简单的代码来说明如何建立查询程序: </P>
: D# M( F1 C9 h% n<P> </P> F( }+ E! g6 @9 c8 I
<P> 例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>
2 n2 O- F% ]( O0 W2 L0 Y7 [<P>DataSource,Query三个控件加入以下代码: </P>3 u w+ X6 ?6 l& j8 ]- `
<P> </P>- X4 x% a" u' O+ j8 _1 ]% G
<P> DBGrid1-〉DataSource=DataSource1; </P>
6 {- D- A! X4 |. v5 c' F<P> </P>6 p7 L" j( M+ Z E+ I
<P> DataSource1-〉DataSet=Tqery1; </P>
7 h9 ?6 X3 L/ r! I<P> </P>
; o' C" ]0 M. K0 V2 a<P> Query1-〉Close(); </P>
6 m( H& S6 f5 L6 N3 ^& M3 g% Z( b<P> </P>% T8 M9 t2 n4 B% o/ v/ N1 m
<P> Query1-〉SQL-〉Clear(); </P>
9 B( |+ V B) V7 y4 I0 q0 {<P> </P>+ C2 v6 z# }) ?# c/ \1 ~6 N4 e
<P> Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>0 ?. s2 I$ g5 }$ j
<P>); </P>
% Q1 Q: C$ X( M0 V9 [9 Y# P<P> </P>
& F" h& Y7 K0 ~7 y<P> Query1-〉ExecSQL(); </P>
' l* E- R) \) T3 ]( ^<P> </P>
9 l' ]) J& ]% Y4 K8 `7 M: z2 y$ |<P> Query-〉Active=true; </P>
- i! u% b- n2 w( V6 _<P> </P>( e& p; O4 ?& s5 l" s6 X9 G1 k
<P> 你就可以在生成的表格中看到所有名称为book1的记录。 </P> |
zan
|