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

我的地盘我做主
该用户从未签到
 |
< > </P>
B9 r9 t1 c0 E4 `! b, ?< >杨超 </P>
3 p/ y5 x3 F' y0 c* \; j/ y* Z< > </P>
) k1 n, p; u, l$ U4 x- y, [< > 随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
1 u! ~, H1 [0 f; K$ C8 I< >C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>( E4 i6 @) d/ N. l9 u6 p/ B
< >写一行程序就生成漂亮的数据库程序。 </P>
0 Q7 _- _1 I: G< > </P>( Y; ~( M4 k& i' n }- }
< > 下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>, m- B. ?8 G/ \* S* G; x
< > </P>
& j5 }5 G/ i; h. a9 N" a( Q* F< > 一、DBGrid控件 </P>
9 B$ I2 }- R- x& }" }< > </P>9 d4 Y8 f7 z, S9 S$ g4 `1 Y
< > 1.设置DBGrid的字段显示宽度属性 </P>, k1 P. e& q( E/ B4 h
< > </P>* q2 V3 L) {2 Q- t0 w" X B( `
< > 为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>
+ E$ E5 {7 I& b7 n4 J; E< >段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>+ @/ j) o3 i2 R0 o$ z
< >个字符或更少。 </P>3 X; Q' O4 g4 {7 |
< > </P>
* x' [9 ~6 Y! u; M- E; e/ D< > 2.改变DBGrid的显示字段及日期显示格式 </P>9 a4 |. f8 A ], X+ j: V- V
< > </P>
- x" E0 }. j) `1 Y9 L< > (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>
, d1 H3 [7 v4 n* V5 [( J& T+ g z< > </P>1 ?' n m! Z1 F7 P) Z$ M: E: w
< > (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P> j+ i. v* S3 D+ u
< >的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>5 s# |% x; L5 S, j
< > </P>4 J* a5 G# A: C0 w2 d+ F
< > (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>7 o+ k- u k4 B) r
< >填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
" V Y5 Y( J" {. E! N4 w( W4 @< >DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>7 P0 \! q! U1 A6 a( X
< >1999-05-28格式显示。 </P>; U0 H+ ^* @3 k# D f5 x1 W
< > </P>9 y) p% ^* Z9 L' ~
< > 二、Tquery控件 </P>
/ D$ i8 E- E; U: L3 n8 k0 ~1 S/ h<P> </P>* {: e* Z# @/ J6 d0 S
<P> Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>6 Z* c1 N' X' R
<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>+ W5 [! r1 H6 F" c6 y. I V/ m
<P> </P>
; c2 s8 i4 x# M+ {<P> </P>9 Z' h `6 A$ O3 R8 ]) |4 L# j
<P> Tquery的参数设置如下: </P>
% T* P- U+ i: q9 i S( Q9 x<P> </P># M _( D" [5 g! y3 H" T7 Y' ]
<P> (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>7 K& ?% s: b) W8 b
<P> </P>
: |1 }4 u( r! u3 D3 Q<P> 跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>* u% _3 L; N7 C: y# C L$ ?
<P>据类型等。 </P>
3 B% d. Q% n& D5 ?( H* e- P* P, T<P> </P>& u I) b( g% p" ~
<P> (2)对变量的赋值: </P>0 t& {' R7 W9 U, c9 [0 B
<P> </P>
0 o" v, a7 v1 U0 v3 Y<P> Query1-〉Active=false; </P>
. \# C! E+ E0 f<P> </P>
, }+ {& R# ^" ?# O7 ^" W4 F/ v<P> Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>
7 y5 q8 d7 p8 I<P> </P>
2 d- y7 J6 k3 n# @6 ?<P> Query1-〉Active=true;//查找符合变量的记录 </P>
: M6 M3 P* `$ b: d8 V0 x% i<P> </P>$ y/ F* A) Y8 w
<P> (3)用DBGrid显示结果 </P>
, x& u+ D0 X1 W. _6 W) C" o<P> </P>
' Z5 `; E2 [1 W* B Y<P> DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P> y- {& R; C- p( E* A _5 x7 A p D
<P>Tquery1 连接。 </P>+ {: F' _; A1 P5 E. U$ ?7 @' T3 H
<P> </P>, o5 K% o: `2 M. o/ O: b
<P> 三、应用示例 </P>* B2 t A3 B$ O
<P> </P>
* b* J. @# O2 r<P> 通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>
' ?0 L: k( r1 M) F6 T7 q<P> </P>8 e3 O5 q+ f& T2 q" j) q
<P> 用一个简单的代码来说明如何建立查询程序: </P>
$ f) \: d6 d! ~2 `+ |" H<P> </P>
& m' O1 i" d$ k& [* B% V<P> 例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>8 v& w5 h5 @+ _# V/ a9 `
<P>DataSource,Query三个控件加入以下代码: </P>
( J' {& T* S: m9 O<P> </P>; C7 N$ R+ X6 V
<P> DBGrid1-〉DataSource=DataSource1; </P>2 j: m2 N0 a0 i! J! o+ `$ k* l7 u
<P> </P>; k& T. [9 |1 C* Z f4 t
<P> DataSource1-〉DataSet=Tqery1; </P>
- b0 K% l* W5 u4 V: h; c+ `<P> </P>' l# U4 A# p, z9 a) M% G
<P> Query1-〉Close(); </P>
7 a/ m; N2 f- q, z0 p9 B<P> </P>
# n% T% Y) s$ W<P> Query1-〉SQL-〉Clear(); </P>
) N4 i3 g3 f, R6 |<P> </P>3 h% T/ W# r) K3 h- d' {# v
<P> Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
$ `8 p {+ G+ c! b<P>); </P>+ ]) j* k* k7 M
<P> </P>2 N3 D3 Y: [* D+ A1 {6 u
<P> Query1-〉ExecSQL(); </P>
2 V+ J! h, K/ J/ C E<P> </P>) t# s' q6 b/ P; g
<P> Query-〉Active=true; </P>
& I: P# _: Y- ~1 `" B<P> </P>
M- n3 ^9 H# K. Q<P> 你就可以在生成的表格中看到所有名称为book1的记录。 </P> |
zan
|