QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3492|回复: 0
打印 上一主题 下一主题

用C++Builder 建立数据库VCL使用经验

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:36 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>  </P>$ {' \' _5 {3 e, t$ g2 J
<>杨超 </P>) D6 ]8 y* O5 M. p0 q
<>  </P>
8 A7 Y* H6 j$ r# Y. ?<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>1 O5 K/ `" a$ C
<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>( m! H8 W9 C  D( p, w
<>写一行程序就生成漂亮的数据库程序。 </P>0 d0 z" u: B8 Y; o5 X4 G$ b
<>  </P>  p# c4 I0 Q: S3 z) f# l
<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>: ~0 ~, Z: |5 b5 x
<>  </P>
. J/ V5 d6 `5 \2 x& W<>  一、DBGrid控件 </P>' i1 k, z1 s" e% R3 y
<>  </P>
5 E( _' h% q0 r6 {0 b, |7 X<>  1.设置DBGrid的字段显示宽度属性 </P>
, n9 C" r: w! i) N" i4 d- R<>  </P>- c% F7 N/ ~7 a5 X; B. T
<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>7 ?" n% C0 m" `+ M1 h* a
<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>
  l; U/ z: t4 d  e5 \<>个字符或更少。 </P>8 g7 F, p1 ?; C0 C- `
<>  </P>
; s2 t! `# V9 a<>  2.改变DBGrid的显示字段及日期显示格式 </P>$ i$ Z; L" j# s8 X2 h. I
<>  </P>
( [: |* w. I+ d! c. e- `& v9 J<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>$ e7 R& j' k7 V/ n0 L# q4 G
<>  </P>: b& ~4 ^7 X9 g( @, J0 f0 P
<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>) M0 B; }' S' `+ O# E( o+ w5 w
<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
6 D) m: d4 ~# y<>  </P>
/ C" K' L/ L& |2 [<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>( D& ~4 r/ Z; a# K
<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
+ Q" r( e! n* `7 q. X! {/ B4 T. }<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>
. s( K  z" P- Y8 a<>1999-05-28格式显示。 </P>
( T' g; K. `8 N. V<>  </P>9 o6 W1 a) o. s9 X9 c. j
<>  二、Tquery控件 </P>  N! p, S7 t6 U" i# x8 E6 i
<P>  </P>4 a+ F8 H& g  L7 k( E4 F
<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>
& a" P; y' M9 }- n% V# v<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>" J9 T% [/ |: H! _  b
<P>  </P>
' h5 f* y2 r1 k) D4 N& B, q# d<P>  </P>
, J0 t- j# H4 G  ~<P>  Tquery的参数设置如下: </P>
% h5 v1 |" v. {4 {6 {<P>  </P>+ S8 `1 j. O( z& G% r7 G" ^3 _
<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>
% n1 A: X  k' d6 u9 h* J9 q<P>  </P>
- f7 Z8 `& e1 }5 Z  O) U( i<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>
% \  J" O( i! G# N9 S. e8 }/ {% f: U<P>据类型等。 </P>1 v- X; H' t5 |
<P>  </P>( f; \8 C+ T7 v% _- v
<P>  (2)对变量的赋值: </P>" Z% |  I! X0 q. j& @; Z" o2 |
<P>  </P># u! d4 p" Z7 m: f/ ]9 E; w
<P>   Query1-〉Active=false; </P>
( O5 |& V; q1 _" ^<P>  </P>6 u8 j# \8 |+ _4 |, W5 U* `$ R
<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>$ h/ I+ J; J& x9 B; E+ t" E' j
<P>  </P>
- s! g4 W0 T+ U4 q7 O' @: P8 S" z<P>   Query1-〉Active=true;//查找符合变量的记录 </P>
6 U7 B, p4 ~, J<P>  </P>1 C+ Q% X+ Z/ h1 J* _3 n
<P>  (3)用DBGrid显示结果 </P>+ h- H# Q' z) s) `# L+ J. k
<P>  </P>
/ \' d/ U3 g! d<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>  O" S( v- O7 r  l- Z  }+ _1 n
<P>Tquery1 连接。 </P>, \$ J; ~, C$ Z1 W5 q7 T
<P>  </P>
0 X. V2 t" B( Y8 h+ ?0 ^- S3 }  r7 U<P>  三、应用示例 </P>
* D9 r+ j8 H8 Q& [; d6 H( h; ~7 e<P>  </P>
+ d4 X$ @- _# R1 T<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>0 C, s' `2 d/ r9 ~
<P>  </P>
7 Z$ N( O. T# g7 X5 h: |9 \7 a<P>  用一个简单的代码来说明如何建立查询程序: </P>
: p! ~: c  _1 n" J' }, p<P>  </P>8 j* Q9 d0 v* Y, y% o  h
<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>) b! z8 A( ]) Y' m; t5 P
<P>DataSource,Query三个控件加入以下代码: </P>6 @/ k0 e. m, c1 S- g- K
<P>  </P>3 P9 z( s' }6 `
<P>  DBGrid1-〉DataSource=DataSource1; </P>
  a: ~/ u4 O( v" }2 t# n<P>  </P>
: r5 O5 f9 V% A8 j<P>  DataSource1-〉DataSet=Tqery1; </P>
# w! j2 N) P$ m1 ^9 r# q+ G; R<P>  </P>. m+ M9 \# ^! \, N( T: S; Z5 I
<P>  Query1-〉Close(); </P>* N4 W9 B' v7 X: I* @0 x6 u
<P>  </P>, p* o2 p5 N# @- G, d, h9 @
<P>  Query1-〉SQL-〉Clear(); </P>/ M- t6 ?) p( m' A" \$ G! _: n6 C  ^/ x
<P>  </P>
4 W& M1 n- W5 ]) }<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
) {0 c3 }. q* _* s  h. H<P>); </P>4 T$ h$ a+ K2 Q& B( h  `- y$ V: X
<P>  </P>! g# J* s0 p9 ?- d
<P>  Query1-〉ExecSQL(); </P>
% A; _1 R0 |4 ^1 h+ l. o0 ^  z<P>  </P>
- i$ B- Z; \7 N7 n+ R<P>  Query-〉Active=true; </P>
7 s1 B" H1 Y* p4 E+ Y% H<P>  </P>
+ M7 ~7 U4 I; m/ S9 ?( @+ ^<P>  你就可以在生成的表格中看到所有名称为book1的记录。 </P>
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-19 11:00 , Processed in 0.442543 second(s), 51 queries .

回顶部