QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:36 |只看该作者 |正序浏览
|招呼Ta 关注Ta
<>  </P>0 A$ s/ H1 N7 `' g6 L
<>杨超 </P>
5 i5 Q4 G3 a7 @$ u8 Y9 D<>  </P>
3 A4 @1 w3 ?- U! @% K<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
9 c( v4 Q# X0 |7 X" s8 R8 q<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>
$ w, q/ B" g& [8 c3 p- T4 C1 V<>写一行程序就生成漂亮的数据库程序。 </P>6 q* s8 A1 d& j7 ?
<>  </P>
! e7 l# H. m- r; d# F2 |1 f9 d<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>
* f5 H0 c4 v* {4 }5 l; `3 N6 Y<>  </P>% w% F! Q9 }) y+ R
<>  一、DBGrid控件 </P>- J2 C% K# i7 P0 p3 m. I  T& G
<>  </P>
9 X7 U' f2 x: \. C<>  1.设置DBGrid的字段显示宽度属性 </P>* H( d: _8 F. j! Q
<>  </P>1 g, L. W. X, K4 [4 `
<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>; q5 v: E, s1 Q. p8 r; k5 E" l" x( h
<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>3 b7 [9 L6 V/ ~
<>个字符或更少。 </P>' A. f1 A  X: b- B* ^
<>  </P>6 c4 y! X# t; N& t1 Q" L
<>  2.改变DBGrid的显示字段及日期显示格式 </P>
) [) D% e, @  x<>  </P>$ W+ B2 t! t. o; p1 J6 Z% I
<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>
, \8 H* _1 d- `6 p! w- Q<>  </P>
/ V! L& ^) S, f6 F0 C<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>) m7 F! D5 I+ R2 Z. ?% {6 i) U! `, Q
<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
3 E# ]- I; {' W' p' y<>  </P>
! p' S* x- g# n. h! M<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>
1 ?; c/ A& N# f/ s) [<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
  A1 Y$ d  P& D0 g& h<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>4 c6 e. r; r  ~/ \
<>1999-05-28格式显示。 </P>+ O, e+ K% w5 C$ ~
<>  </P>2 r7 }6 ?, P! D- k7 c! `# J
<>  二、Tquery控件 </P>
3 \8 h  X' [! T' t% T  I<P>  </P>  F0 A  D0 d5 r" w2 I4 c. H3 _
<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>7 H0 ~7 X1 U  o- B( C3 _
<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>
4 t) `$ V5 @* D# R: d<P>  </P>" e; ~$ Z" D. h4 b6 J; Y2 M2 y
<P>  </P>
# x  i7 F6 ^: W<P>  Tquery的参数设置如下: </P>  D) U9 g  M1 C7 E# j- A
<P>  </P>; k& u( m1 n2 V6 \# R
<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>
* L( J3 Q& J1 l5 n3 I2 e<P>  </P>
: [( `$ p* q9 |3 \<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>
% O( r! r; w2 Z4 O<P>据类型等。 </P>
- Y8 z. E0 ^  A! X; ]! m/ V<P>  </P>
9 l- D& n3 A1 d<P>  (2)对变量的赋值: </P>$ u$ C1 S9 c9 @( [: c; v
<P>  </P>
) {( Z8 C: {' g; `! \<P>   Query1-〉Active=false; </P>8 O$ I5 _5 Y5 D0 Y# F( ]
<P>  </P>
$ @0 Z1 N: W& K0 e<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>
+ o! _1 O" D7 L# l<P>  </P>
4 F: }1 G+ h/ y( {<P>   Query1-〉Active=true;//查找符合变量的记录 </P>6 W) F# K1 I0 Z* i9 ~8 P$ c/ v
<P>  </P>
. e; \3 Z6 y- a+ I2 X8 k<P>  (3)用DBGrid显示结果 </P>
- f. ?* ~7 K, u/ \<P>  </P>- j) H( w# N& p( }; P/ _# u
<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>
' v4 u, K" U* L: Z  X2 O<P>Tquery1 连接。 </P>
7 n7 |' G2 n5 s9 D% r: P9 l<P>  </P>2 \4 J2 C8 o5 N# W
<P>  三、应用示例 </P>
9 E3 X- o! b- T' R5 b: k<P>  </P>7 |( g( C+ Y5 b& P6 I
<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>
- C6 E' G2 i/ J<P>  </P>; b1 p" ]4 k  w& ~: P+ r: c- Z
<P>  用一个简单的代码来说明如何建立查询程序: </P>
( c' p3 N6 c2 A- y. v  U% f  T<P>  </P>, R3 ~2 A, G1 |" \! ]+ U1 B
<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>
( C5 `8 t* |# \9 E<P>DataSource,Query三个控件加入以下代码: </P>
4 \2 F7 d3 E- F3 U% V# ]3 b$ L<P>  </P>
% m6 n# N% E3 Y6 l<P>  DBGrid1-〉DataSource=DataSource1; </P>
+ m- j% }& w. d$ E  M' [. N<P>  </P>
9 |+ |( |* x; J- @0 I<P>  DataSource1-〉DataSet=Tqery1; </P>  s7 S0 ?. U* X
<P>  </P>
9 d0 I2 X0 ?8 F" j' r% x0 t<P>  Query1-〉Close(); </P>. N: o$ R! }( D# M* u% F
<P>  </P># [; F2 Z( t+ h4 y/ `! M
<P>  Query1-〉SQL-〉Clear(); </P>
- Y9 Z6 p! P2 g8 w0 X% A<P>  </P>+ ^* D/ G3 h  X6 q
<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
4 ^/ U( G9 k+ x1 h' L<P>); </P>  E6 K' w# g" ~( L. v3 J8 q( N4 b& T
<P>  </P>
5 _- X* N# n# w( y<P>  Query1-〉ExecSQL(); </P>
% Q2 [, ?1 K/ ]<P>  </P>
  v) z3 Y5 h% ^) l9 r<P>  Query-〉Active=true; </P>6 A! W% r( R; ?" V
<P>  </P>( m0 D; n$ n! ]" `
<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 18:44 , Processed in 0.436839 second(s), 57 queries .

回顶部