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

我的地盘我做主
该用户从未签到
 |
< > </P>$ ?; X9 Z* U1 i" I
< >杨超 </P>; E) l& d: y& }# }" r
< > </P>+ o% V- S$ q& [
< > 随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
5 T, R0 x5 z) B& @4 J< >C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>
% a$ L- a: d9 X$ `< >写一行程序就生成漂亮的数据库程序。 </P> s* n; U2 A9 C- M3 {& M9 p3 o4 N
< > </P>" K" x$ a' K" C9 D( l: \3 O+ c, j. c
< > 下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>( ^' j" L' J1 I1 G
< > </P>3 ]4 t: a+ d8 M) p8 O7 f+ ~
< > 一、DBGrid控件 </P>
' R6 ?) A- r: n! r' I: L+ q* a< > </P>
( `& H8 R2 x0 u- G9 j$ w* B: k) R< > 1.设置DBGrid的字段显示宽度属性 </P>
: w; q% t' R8 R; l+ m< > </P>1 J ]2 t0 N" U9 H/ R. W
< > 为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>4 C' K R- P0 k6 F' r6 w% v
< >段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>$ G0 i3 W$ q* \; W0 y# C
< >个字符或更少。 </P>
: w3 N" @5 k7 V# {* m# Q* L6 Z, g< > </P>+ H, H- k) S7 L2 B
< > 2.改变DBGrid的显示字段及日期显示格式 </P>
" g+ ]% E4 u" X7 ]( T! e< > </P>
, X# r( t! }- ^< > (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>: F# l! K2 a' E( J. G% y
< > </P>
/ S0 ~ H; C4 g" {: Q2 X6 p1 [< > (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>
2 v. g$ |" M4 E, ?6 i< >的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
. G+ X' R, s; Z ]< > </P>) N/ t# T( l: A) ] h$ X
< > (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>
$ w* k: o; _) j< >填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
0 ?, g' A: |0 \" N, O7 Z! r5 C4 r5 B< >DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>
" E. J% Z# [& _4 n: e< >1999-05-28格式显示。 </P>
* ?9 ?* d& m" ?1 }0 r6 h/ g/ G< > </P>
" z9 \' l& [- U< > 二、Tquery控件 </P>" M0 f7 X4 A$ ?9 f, y
<P> </P>
: I+ r; B, n* E<P> Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>
9 [* g4 ~- z: \7 F% c<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>
0 h( I0 ]% n9 S6 }+ e& A* |& d<P> </P>) y9 |7 [" C* \5 P, G" ]: v' k
<P> </P>
) I1 k& x: J. [2 p* v9 r) z& g<P> Tquery的参数设置如下: </P>* X& H; c, t4 W6 i: C
<P> </P>
2 l e6 i/ H/ t% Y; [9 ~2 r: u<P> (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>
- x V( j% x/ t; S( i3 t6 v3 n<P> </P>- B0 w0 `( S$ q
<P> 跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>6 n$ |) G8 s' c7 p# W
<P>据类型等。 </P>
1 T* K' [/ }' f+ c |$ F' T7 b @ R<P> </P>
& I, v" _+ O ~3 [<P> (2)对变量的赋值: </P>
+ q/ P% _8 h- q+ p) X- {7 _<P> </P>
7 r; A; @8 e8 Z" g! `! F" i<P> Query1-〉Active=false; </P>7 k/ g: T1 b; z3 w: Z, Z
<P> </P>' U6 o+ ?" \- q, C* \* F
<P> Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>- m$ C. S- |# ^
<P> </P>
' `9 f9 q, }/ ~<P> Query1-〉Active=true;//查找符合变量的记录 </P>
' I5 U5 \- O; B) J<P> </P>
; u1 B0 c6 x1 J3 _4 g9 L" o<P> (3)用DBGrid显示结果 </P>7 |4 h/ k& H+ r+ g! S
<P> </P>: c- M4 M3 m. V
<P> DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>
7 @) X* |. N7 b' o<P>Tquery1 连接。 </P>
! x/ @7 H5 w* p8 ]<P> </P>
. m7 P3 y; ?5 Q0 O<P> 三、应用示例 </P>
' r' U; u! [* a2 W<P> </P>4 E6 Z' q- g* b( \* t
<P> 通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>0 ^2 Z, B2 T! {) O" w
<P> </P>
5 B: F! F& Y! a- p/ {4 T# g<P> 用一个简单的代码来说明如何建立查询程序: </P>
( T# S" ?4 G+ r1 e" V<P> </P>1 C3 X# {3 Z7 G
<P> 例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>$ |) G- j: k- S6 f+ n% o
<P>DataSource,Query三个控件加入以下代码: </P>
4 K9 w: } x+ p Y c<P> </P>
5 e: i4 r6 B0 I( e% m' ^<P> DBGrid1-〉DataSource=DataSource1; </P>
8 o! W6 K& t8 e" h" v, z<P> </P>
5 g# }/ G* _" H8 A- F<P> DataSource1-〉DataSet=Tqery1; </P>1 Q! o V3 S8 W" L
<P> </P>9 @& y( K" V) @" |9 q' r
<P> Query1-〉Close(); </P>
# _ O8 a( ?/ d<P> </P>
* ?% ]. M2 l7 Z4 k' k( {<P> Query1-〉SQL-〉Clear(); </P>6 d, F3 q" k, W" G
<P> </P>2 ^, R$ v. y4 a) L7 V3 J
<P> Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
7 Q! B( P6 _/ j7 A% M0 A) H<P>); </P>
' q) ^3 D3 @- D; [/ g<P> </P> h* @% K( i! ~7 E8 J
<P> Query1-〉ExecSQL(); </P>' F% Y. L( k' Q4 r1 U3 c/ \
<P> </P>
Q9 u6 G8 ]9 Q0 r<P> Query-〉Active=true; </P>. E* K3 s, j( X( }8 c, Q% d
<P> </P>& H7 p9 X Q I; ?% H, u7 b
<P> 你就可以在生成的表格中看到所有名称为book1的记录。 </P> |
zan
|