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

我的地盘我做主
该用户从未签到
 |
< > </P>
4 B0 t4 j# `$ M! O. L: s< >杨超 </P>
0 a+ g1 N, s8 M< > </P>/ ~ H: j# h3 {' p
< > 随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>1 B" i( G% V- V9 C9 K# G) E$ Y
< >C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P># z- O4 \- E: ?) [: o
< >写一行程序就生成漂亮的数据库程序。 </P>
8 b( c$ V1 Y, A `1 E! ^; N< > </P>
) b2 Y4 I. T8 b% E" k6 w3 V< > 下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>
. W# \! P9 Q* X0 o< > </P>
, V! L* O' ^8 }" Q< > 一、DBGrid控件 </P>
8 Q3 W% l" q0 B1 V- s: T9 v2 |& X< > </P>
5 U5 C t9 e9 M< > 1.设置DBGrid的字段显示宽度属性 </P>
% o0 R4 \. j, T n& u< > </P>* [! e2 j; V2 m+ p; P4 ]$ H
< > 为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>4 a' {$ |7 S C+ w) f+ Z; M
< >段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>, m) x3 q: y# R. }/ |- n, J3 p3 `
< >个字符或更少。 </P>6 x, K9 x9 t2 i5 J( G: n% i: }$ I
< > </P>5 U+ u" w9 J4 h. z
< > 2.改变DBGrid的显示字段及日期显示格式 </P>6 v$ s% t0 X+ g1 C
< > </P>
( W3 R( n ?# u< > (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>9 R& t* Q9 K: n6 P: S
< > </P>; a* e3 x1 @* M% D: j9 l
< > (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>
9 \. @/ c6 c2 k N! j$ H% ]6 f8 f< >的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>1 ~0 s% ?# h( Z- D3 v) }: k% E/ S
< > </P>6 \! m/ U+ W3 `6 i5 N# v4 I
< > (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>
4 x1 @/ O1 u; H8 L9 w) r/ t< >填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P> A, q* [ F4 H
< >DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>
2 `1 S3 [4 z% U5 n- s9 h1 Y< >1999-05-28格式显示。 </P>2 U# G2 P! v7 ]+ ?1 _; G
< > </P>
4 J) v- m) {2 b* K1 O3 P. h: n< > 二、Tquery控件 </P>* y9 |) a' H U; [; t
<P> </P>: K$ s' M% m6 K% A: r2 H
<P> Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>
^- N- B, T' f$ `: p) C- O<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>
% F6 e/ X7 @: Z9 O' i6 L<P> </P>
* s# Y4 j. f, M7 Z s4 f<P> </P>
1 A* ~5 s, F6 m( u& t<P> Tquery的参数设置如下: </P>
% n) p) R7 R% {# ^+ v<P> </P>' _. [# Z/ R5 A; y
<P> (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>
, q- |6 |1 @7 U' W0 y) c; U& W4 ]<P> </P>
, p/ h3 M* J4 j3 v: b<P> 跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>
- b/ k* `7 i G4 Q. k<P>据类型等。 </P>3 G9 v, N- k' G! Z, C& T/ ~
<P> </P>
/ n: r2 i* t4 L! C" j/ r4 i+ m<P> (2)对变量的赋值: </P>9 k2 ^: j; O3 r7 _1 h7 _9 b
<P> </P>
7 Y. J) a# u/ x. q: Q( P! M<P> Query1-〉Active=false; </P>
: ?: t8 y; u. |+ d. r% E, j& Q5 d<P> </P>; l* _- P _/ }$ v( e0 F$ [6 N4 c
<P> Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>
8 p7 s- [. J2 m& [/ L; f! y4 x<P> </P>4 n; P9 \3 A8 ^9 _
<P> Query1-〉Active=true;//查找符合变量的记录 </P>
6 V2 i, a6 T8 G<P> </P>
5 ?8 y; ?0 U0 f5 \2 x<P> (3)用DBGrid显示结果 </P>' H+ z, Q4 p) Y( ?% W5 G; z0 K
<P> </P>
- W. |- I3 Q& \, ^<P> DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>
8 l6 E+ j% a7 V- ~" P<P>Tquery1 连接。 </P>
$ B( c% T; L! {' m6 @' t3 U<P> </P>$ t8 ~2 l3 C8 d) U
<P> 三、应用示例 </P>0 Q( G) Q4 |0 X: b( ~1 Z N
<P> </P>
) Z" E5 \0 u* y$ R/ j<P> 通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>
1 A4 O/ G4 \0 N/ ]! H* f<P> </P>
' z$ [0 `1 l% Q0 b" E M- Y<P> 用一个简单的代码来说明如何建立查询程序: </P>
, ~ {& H( i7 e; L$ [<P> </P>
3 r- ~7 U' h! Q) J<P> 例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>- ?( e# |) [9 {: a% h" W+ [' l& I
<P>DataSource,Query三个控件加入以下代码: </P>! F$ t- \7 f3 O# k4 ]
<P> </P>2 m, f( g' U I: m6 H
<P> DBGrid1-〉DataSource=DataSource1; </P>+ Y' Q9 k" }0 `9 P
<P> </P>9 h3 v3 ^) n5 q; s' K: m& L6 ^
<P> DataSource1-〉DataSet=Tqery1; </P>5 _% A1 U) m6 z) v% ^1 i/ X' c# q
<P> </P>
& c- R% ?+ `; |! l<P> Query1-〉Close(); </P>* [3 `+ m8 g1 f" J
<P> </P>. Z! z+ N0 G+ Y1 `. c& Z# C
<P> Query1-〉SQL-〉Clear(); </P>
! `. W8 w3 S2 O' d<P> </P>
& N; z7 b& f- U& |0 a0 {0 L<P> Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
/ ~/ E9 I8 R2 E. B% n6 B# V d<P>); </P>4 V; |2 J$ V$ e+ t/ W
<P> </P>
- |* G, @1 Z* Z; z<P> Query1-〉ExecSQL(); </P>
3 K& L0 Y/ [5 Q+ d<P> </P>
% L$ _, _& }) Y w* K1 h<P> Query-〉Active=true; </P>
: Y/ W/ P" q2 ^: G- H2 y<P> </P>/ T3 V, i* S5 Z
<P> 你就可以在生成的表格中看到所有名称为book1的记录。 </P> |
zan
|