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

我的地盘我做主
该用户从未签到
 |
< > </P>
! M4 ]+ E/ E0 T7 @& M- k9 U< >杨超 </P>
1 |6 F5 n; {& U) |2 w# Q0 I< > </P>
`9 E% v/ o* y9 G5 Y( G4 ~& i< > 随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
1 u; }& H. |# \; F, [( C< >C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>: g. {/ x- D5 T! Q5 e
< >写一行程序就生成漂亮的数据库程序。 </P>
! O1 ` r' Y4 c3 z# z0 x& ]5 _6 T9 s< > </P>3 S" F; @3 L* b9 F* W
< > 下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>
9 W" `3 n$ ~, {4 k< > </P>$ d0 u. u; _; B
< > 一、DBGrid控件 </P>$ s+ x; z2 \7 x, L
< > </P>+ X0 P4 n ^5 v0 A" g
< > 1.设置DBGrid的字段显示宽度属性 </P>
7 [' \: G' a5 W9 h' V< > </P>
- \9 u7 F" B, l: ]4 N/ Z" O$ w8 F< > 为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>$ D/ E- ?/ e5 Z& J) @" P6 s
< >段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>* Q9 d: P% D/ D' k4 f6 o' e
< >个字符或更少。 </P>
" x4 I" y) S% l& I5 h, P" |2 f< > </P>
5 Y m' y& N" N* ]& r T6 Y# A< > 2.改变DBGrid的显示字段及日期显示格式 </P>
: _: [! j- T9 l7 U0 }; y/ {/ B) f< > </P>
, X8 U+ T, I7 \3 V" ~4 F. G+ ]< > (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>
8 k9 S5 K o# t* J< > </P>
# C( C& b- [8 ^3 t/ M' V< > (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>* G9 t0 u8 z( P' c- S
< >的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
9 e/ v3 G6 G/ ]( T< > </P>
; U, Y% e8 U, R. I: Q< > (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>
* `' s8 T. @/ v0 M* h) K$ ^* M* B< >填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>+ w K( `6 `1 U% _
< >DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>4 X; W4 s# U. \, I0 A' ]
< >1999-05-28格式显示。 </P>
7 b: K4 Q4 k$ g# @" I< > </P>
l# ^& J: T& I4 M& ?. |1 l9 v# Z \< > 二、Tquery控件 </P>
" f7 f6 ]* D3 J" M! F<P> </P>9 l% P4 d: J% D$ e; e% I
<P> Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>% f) @4 j5 D0 T1 t2 [& B8 ]% r( S
<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>4 r4 \( `" x' x+ I
<P> </P>
- W! A; N2 V( f# ]$ Q& Y2 _<P> </P>+ `2 V2 E# k/ s3 P, S- a
<P> Tquery的参数设置如下: </P>
0 I# U( F9 I: n& c8 {) m9 z<P> </P>/ _) C" k3 D3 w, n) G& K! X
<P> (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>/ l' R. u' S$ c9 z- ?
<P> </P>
4 R4 E+ K; F4 ^$ e' Q<P> 跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>, X8 E O' K5 f5 i6 `
<P>据类型等。 </P>
3 ?: e/ e2 | l, G7 e<P> </P>
* {; T6 ]' {( q# D<P> (2)对变量的赋值: </P>* f w, @6 p: z5 ]7 F
<P> </P>
! T1 N4 M6 J! U/ y! F& L4 u* ~) \<P> Query1-〉Active=false; </P>. k- P4 z3 R$ f' I: ^
<P> </P>
* y4 o5 o4 }& o7 H0 q) W& v<P> Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>3 u9 x C2 {. ?; E: D
<P> </P>
1 i E) E& Y0 ?; X$ R! t+ P; P<P> Query1-〉Active=true;//查找符合变量的记录 </P>
, S' ^5 |, L/ H# [$ @: R+ V+ i<P> </P># S; y7 k9 j" ]- l
<P> (3)用DBGrid显示结果 </P>9 D2 g& j( Q2 v! l9 x7 p$ d2 |
<P> </P>( p* L2 z/ ]( q" N9 Y9 G, g* u
<P> DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>, Y6 @. H8 G7 H& p3 m: k
<P>Tquery1 连接。 </P>
; O8 @4 Q2 z* R3 K6 B<P> </P>
6 e M8 @3 l7 G- E# j& K<P> 三、应用示例 </P>
6 H0 s$ _% ^6 Q: g/ \<P> </P>9 H m6 h2 j0 z {
<P> 通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>
9 o2 L9 [7 P+ B; M) [! ^$ Z; ~<P> </P>
: [: t( [$ U# L8 d1 N/ a<P> 用一个简单的代码来说明如何建立查询程序: </P>
* ], u2 Q0 o8 T0 t<P> </P>
9 v; f7 I( S6 w% J& j<P> 例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>
% H9 y4 l7 l, e E* Z<P>DataSource,Query三个控件加入以下代码: </P>
; C+ b' r1 P+ e<P> </P>
" V* R0 S `8 d' m" U" a# T9 D<P> DBGrid1-〉DataSource=DataSource1; </P>$ E5 f8 X3 M5 c5 L
<P> </P>
; V: n) b0 b/ P<P> DataSource1-〉DataSet=Tqery1; </P>, o3 K" }- J7 R
<P> </P>
6 k* r- ^ H: l3 Q+ o+ e7 Q' ~: q5 a<P> Query1-〉Close(); </P>1 {6 c U; l2 q2 Y. L! h6 p, a1 ^
<P> </P>7 {$ Q4 t3 D) K" n8 N
<P> Query1-〉SQL-〉Clear(); </P>; H% N: D4 y1 E* v. I/ M
<P> </P>
' U7 ?$ I# G3 C. I3 A% A2 f<P> Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>2 t1 q' T$ k2 U' K2 }
<P>); </P>
0 w C* S# e2 a* d1 p<P> </P>! o, |# y5 `+ C4 R3 |5 t
<P> Query1-〉ExecSQL(); </P>
: j2 u/ w( S% G8 [<P> </P>
* V, @" f; P, }4 i<P> Query-〉Active=true; </P>
. @# ^1 `, T. Y$ A+ \, ^# K/ R8 n<P> </P>; B( h8 }# N8 j; [9 u7 _
<P> 你就可以在生成的表格中看到所有名称为book1的记录。 </P> |
zan
|