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

我的地盘我做主
该用户从未签到
 |
< > </P>
9 } m0 u) v- V U" Q< >杨超 </P>
; u$ v6 n: E* H< > </P>" K! A# x9 q8 O. S+ k* h" A# Z
< > 随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
% p# A2 q+ p; l< >C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>; E8 d% O; [! [* N3 l
< >写一行程序就生成漂亮的数据库程序。 </P>
A( I3 U* K- l. S# |: N< > </P>
8 }! a6 ?% {2 ~6 F+ b' z< > 下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>
% W9 Y- b8 M" ~( | S: U* R1 n< > </P>4 Q9 J8 w, |% C* Q* a( }
< > 一、DBGrid控件 </P>3 q) z0 F2 R; _! d k' s
< > </P>. Y# H. y$ r; H
< > 1.设置DBGrid的字段显示宽度属性 </P>
$ Y( h( `, O4 m< > </P>
$ }! a, Q# b \$ D; d' o< > 为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>
5 e6 x- X* S+ v" V< >段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>. r- |0 D, k; \2 W5 e
< >个字符或更少。 </P>
" k+ D" t" r8 D$ g3 k! q< > </P>
6 ~0 K$ Y" G( ?- M< > 2.改变DBGrid的显示字段及日期显示格式 </P>
6 P; v+ L2 U3 |; }/ R3 o< > </P>+ e# ], |( A* t2 A0 l' w9 v
< > (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>
5 j% Q* K+ O8 `% Z( D< > </P>8 b. W- }: g. _
< > (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>
# y1 o3 S, C0 M< >的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
( S6 X( M+ Q/ K/ _9 c' K, n2 d< > </P> h7 U- m1 u$ U- H2 A: v
< > (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>
- ?1 H) r x% u$ R$ D0 _< >填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
) |; Y6 U4 I, M# J5 a1 S< >DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>! a* @# X/ d6 z1 G% X5 F4 R
< >1999-05-28格式显示。 </P>
( T( [: ]3 T' J Y< > </P>- W- a$ U% g/ f% m; u& M
< > 二、Tquery控件 </P>
1 e8 x' k* e% S0 D<P> </P>
5 H) t( \, g# K6 F7 X<P> Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>
! Z$ N0 D% f: v, K<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>
% n( x5 i6 U! ^4 \. M<P> </P>$ y' M7 b Z5 t/ Q. G
<P> </P>
% k9 h! N$ D/ M ]<P> Tquery的参数设置如下: </P>8 T9 W. w. H& z, w) o i; K
<P> </P>
. _' z2 [- a8 n7 m<P> (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>
% H' q$ H& U. E0 R) G5 M<P> </P>& W3 d( T2 I4 r% d5 N+ R
<P> 跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>, B; C) r/ m' d7 J! {4 h& F Q
<P>据类型等。 </P> x" g" m+ u) }* Z0 ?
<P> </P>0 Y* `; H6 |& R" r/ ~, H3 {
<P> (2)对变量的赋值: </P>
! r3 q* Y! F9 Q" I/ C. p7 b% S<P> </P>& R% X3 h9 J) _7 M# F
<P> Query1-〉Active=false; </P>; J C$ C3 W# l5 i2 j( {
<P> </P>- G. h0 t6 q+ G5 a7 n0 ?: _
<P> Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>
U$ @) h) `/ a; P' P<P> </P># W9 i3 t; g$ ~0 m8 }% U
<P> Query1-〉Active=true;//查找符合变量的记录 </P>
! h. T2 [; s& _! {! W9 }5 }+ O& {<P> </P>$ ]# R, r; T1 V: l% _' I
<P> (3)用DBGrid显示结果 </P>0 ?5 b6 Y" `% S9 J0 n4 T
<P> </P>
, S/ P9 M/ f7 b# ]+ b<P> DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>3 z: _' d5 R8 \
<P>Tquery1 连接。 </P>
/ A: v B1 x& ?6 W# K9 D- ^<P> </P>* q( W! v, F! q: O6 R
<P> 三、应用示例 </P>
: j# b. i/ o9 y& ]. w J) @<P> </P> A) ?5 ]9 U/ v, w6 n4 J, I
<P> 通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>/ n$ h( h4 W" {: u+ o
<P> </P>$ D+ S Z. S9 }
<P> 用一个简单的代码来说明如何建立查询程序: </P>
" s/ S+ a+ R- l: b8 i) S3 P/ o<P> </P>
. E: n1 b5 ?, }8 D" l* _$ Y<P> 例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>) ^% ?2 X) l# ]
<P>DataSource,Query三个控件加入以下代码: </P>3 E0 r8 ]4 j" R! l: t# `! G! T
<P> </P>9 P1 Q b k: M4 H! v6 |
<P> DBGrid1-〉DataSource=DataSource1; </P>( _3 |( j7 p/ j/ \
<P> </P>$ m1 D9 G+ J; V' z
<P> DataSource1-〉DataSet=Tqery1; </P>$ g# E% }# D# J4 q* C- ]/ W
<P> </P>* j) Q+ b* z& h( f7 t
<P> Query1-〉Close(); </P>; I# M) v( {- R& n: |* Y
<P> </P>1 v% h: ~ r8 ~% f, g
<P> Query1-〉SQL-〉Clear(); </P>4 P8 e# r" s; Z
<P> </P>4 W+ h# a. e8 y+ [8 R; X, ?, N
<P> Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
% ^" G& A( V u<P>); </P>+ N! v, ^( g, T/ E
<P> </P>6 M0 V- }3 [+ ?* g
<P> Query1-〉ExecSQL(); </P>) {+ [4 K$ G3 `
<P> </P>- E9 n5 [* s! N& ]( Q' j
<P> Query-〉Active=true; </P>
4 ]7 L( H& U$ L' W- m; ^ W0 D8 V) c<P> </P>
- }8 C, \) n; P<P> 你就可以在生成的表格中看到所有名称为book1的记录。 </P> |
zan
|