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

我的地盘我做主
该用户从未签到
 |
< > </P>
7 [! x$ z+ j! g/ p- b% d< >杨超 </P>
3 M2 r2 m3 z; V+ R9 r. B' b: S! \9 \< > </P>) e6 b0 y: w: b- m1 ~. r/ V. c) O
< > 随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
; z! g& I D$ h; R! S5 Y< >C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>( ]6 W F; {, h0 j; c! x5 M
< >写一行程序就生成漂亮的数据库程序。 </P>
1 r! I0 A: B& [& m/ B- v7 c8 n$ }< > </P>
& C1 l1 Z( K; T, H< > 下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P> \; {5 L- A0 m/ O( o; `
< > </P>! M9 J& z4 B7 X F/ [
< > 一、DBGrid控件 </P>$ N9 g/ k, p5 l+ {
< > </P>/ h5 Q3 e. c2 W v5 f* e
< > 1.设置DBGrid的字段显示宽度属性 </P>' V; s/ W6 N4 [9 f' u1 z
< > </P>; E0 t" }+ p- i& \" \$ \) q$ s$ t& ?# `
< > 为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>9 Y$ I5 E2 ^/ A+ m* S
< >段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>9 G5 j% O+ B) _9 N+ h
< >个字符或更少。 </P>$ y& p/ b; q2 ]* H. I* `4 p+ W1 _
< > </P>
' k0 Z+ c1 g) }# {; {; X" [+ _' u< > 2.改变DBGrid的显示字段及日期显示格式 </P>- D; z' ~+ x- `. H( f0 L
< > </P>( A* Y: N( f: u) A$ N
< > (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>/ U; }/ v! w+ j+ V5 l
< > </P>
# F7 A' ^4 c3 d; A+ \! F3 c< > (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>
7 I* O% }9 @ n1 }- e6 {< >的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>3 o, Q1 @0 o; p, ?$ w
< > </P> U( s& m% ]1 B2 X C4 L
< > (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P># \& n+ Q# F( D% P
< >填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
' V' w! J r+ ]& g+ O< >DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P># ]- l* B: `& D" L
< >1999-05-28格式显示。 </P>
2 Q' o' z) _+ f< > </P>
/ K8 |! T" e$ f+ X< > 二、Tquery控件 </P>
* t3 p' u, Q- P<P> </P>" a/ t0 d$ |6 t* ~: o* I" ?
<P> Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>$ c. q6 u: S: B8 d7 U/ w, X" X
<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>
# a( F& P# O; M% m% f<P> </P>
. m4 |- l$ H! ~3 n/ ?3 \<P> </P>
) q' T9 y/ O" F9 P8 F( _( ?<P> Tquery的参数设置如下: </P>) C3 {7 D$ o1 R* e8 p; `; i2 W
<P> </P>" g" q3 c& }" c
<P> (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>' L" x, J' M9 S+ L- m* {+ s
<P> </P>
, R8 M* S: Y; x& t7 Y: e* Q6 Y<P> 跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>
f* h% \+ n# P& w<P>据类型等。 </P> r3 w+ m# X" {+ V
<P> </P>% r c. m. D; C+ C
<P> (2)对变量的赋值: </P>0 s" s3 ~. W4 d7 A+ S1 a
<P> </P>$ [$ q3 x$ O- a- Y+ ]6 J" O# w
<P> Query1-〉Active=false; </P>
5 X" U% ^% Y" h1 E$ O1 J<P> </P>
" v; K9 n& P& z& j4 ?<P> Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>5 |5 H6 B4 S( P# g8 k
<P> </P>
. \' c7 y% n- J5 y5 N: F7 N<P> Query1-〉Active=true;//查找符合变量的记录 </P>
2 s$ k- Q: P4 o d9 _<P> </P>
8 o5 g- x" r, T<P> (3)用DBGrid显示结果 </P>
% ]. l; d, f% o3 d<P> </P>8 O9 [" y/ r; v/ \4 Z; x, v
<P> DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>' v6 H7 S8 Q% v+ Y8 h: b# t4 x0 i, T
<P>Tquery1 连接。 </P>
; T5 c( {& w6 F<P> </P>/ ]4 G! X% v( t7 k! W* m
<P> 三、应用示例 </P>
' r; J# ?' |5 p) P5 B" Z" v3 x4 R- R<P> </P>% T: T) P) v- o; \( M
<P> 通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>* r' T% ~( o5 ]
<P> </P>
u" K7 C9 f: u: y' X6 Y<P> 用一个简单的代码来说明如何建立查询程序: </P>
; \* Q0 x7 ^' B s- Q<P> </P>
$ a3 {7 M' e# U<P> 例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>
5 Y5 Y: @) t# r c! j/ q6 N<P>DataSource,Query三个控件加入以下代码: </P>9 ^ r' r2 D( I3 C
<P> </P>
' i7 }9 U, Q, P$ t0 o<P> DBGrid1-〉DataSource=DataSource1; </P>- p) h! {) W- c; `* k6 I5 X
<P> </P>" t' z" }6 r' w% P- p" f5 R! d
<P> DataSource1-〉DataSet=Tqery1; </P>
6 o# g( W# t: n7 b; G. R<P> </P>
, q) Q, H; P! M2 m<P> Query1-〉Close(); </P>) _: ^# t+ w; x# @( p2 m
<P> </P>
1 q' S5 x' D8 c8 r( |4 K5 X2 h<P> Query1-〉SQL-〉Clear(); </P>- u& h& ]$ F7 Z) Y3 Z
<P> </P>
6 X5 E; }% U6 i# }8 ^<P> Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
3 ^2 z1 {& g. a<P>); </P>
1 A2 H' w' _! y, X<P> </P>
~4 i9 u1 m" c" V" b<P> Query1-〉ExecSQL(); </P>, ^ T" G* e# x0 \% W
<P> </P>* E3 O' U& H/ o+ I7 j
<P> Query-〉Active=true; </P>
3 W. B1 y' ]% ~% t) i1 i) a<P> </P>
- e8 z4 l; e* z+ Q# a) ~3 K# }<P> 你就可以在生成的表格中看到所有名称为book1的记录。 </P> |
zan
|