QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:36 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>  </P>
9 }  m0 u) v- V  U" Q<>杨超 </P>
; u$ v6 n: E* H<>  </P>" K! A# x9 q8 O. S+ k* h" A# Z
<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
% p# A2 q+ p; l<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>; E8 d% O; [! [* N3 l
<>写一行程序就生成漂亮的数据库程序。 </P>
  A( I3 U* K- l. S# |: N<>  </P>
8 }! a6 ?% {2 ~6 F+ b' z<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>
% W9 Y- b8 M" ~( |  S: U* R1 n<>  </P>4 Q9 J8 w, |% C* Q* a( }
<>  一、DBGrid控件 </P>3 q) z0 F2 R; _! d  k' s
<>  </P>. Y# H. y$ r; H
<>  1.设置DBGrid的字段显示宽度属性 </P>
$ Y( h( `, O4 m<>  </P>
$ }! a, Q# b  \$ D; d' o<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>
5 e6 x- X* S+ v" V<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>. r- |0 D, k; \2 W5 e
<>个字符或更少。 </P>
" k+ D" t" r8 D$ g3 k! q<>  </P>
6 ~0 K$ Y" G( ?- M<>  2.改变DBGrid的显示字段及日期显示格式 </P>
6 P; v+ L2 U3 |; }/ R3 o<>  </P>+ e# ], |( A* t2 A0 l' w9 v
<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>
5 j% Q* K+ O8 `% Z( D<>  </P>8 b. W- }: g. _
<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>
# y1 o3 S, C0 M<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
( S6 X( M+ Q/ K/ _9 c' K, n2 d<>  </P>  h7 U- m1 u$ U- H2 A: v
<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>
- ?1 H) r  x% u$ R$ D0 _<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
) |; Y6 U4 I, M# J5 a1 S<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>! a* @# X/ d6 z1 G% X5 F4 R
<>1999-05-28格式显示。 </P>
( T( [: ]3 T' J  Y<>  </P>- W- a$ U% g/ f% m; u& M
<>  二、Tquery控件 </P>
1 e8 x' k* e% S0 D<P>  </P>
5 H) t( \, g# K6 F7 X<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>
! Z$ N0 D% f: v, K<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>
% n( x5 i6 U! ^4 \. M<P>  </P>$ y' M7 b  Z5 t/ Q. G
<P>  </P>
% k9 h! N$ D/ M  ]<P>  Tquery的参数设置如下: </P>8 T9 W. w. H& z, w) o  i; K
<P>  </P>
. _' z2 [- a8 n7 m<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>
% H' q$ H& U. E0 R) G5 M<P>  </P>& W3 d( T2 I4 r% d5 N+ R
<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>, B; C) r/ m' d7 J! {4 h& F  Q
<P>据类型等。 </P>  x" g" m+ u) }* Z0 ?
<P>  </P>0 Y* `; H6 |& R" r/ ~, H3 {
<P>  (2)对变量的赋值: </P>
! r3 q* Y! F9 Q" I/ C. p7 b% S<P>  </P>& R% X3 h9 J) _7 M# F
<P>   Query1-〉Active=false; </P>; J  C$ C3 W# l5 i2 j( {
<P>  </P>- G. h0 t6 q+ G5 a7 n0 ?: _
<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>
  U$ @) h) `/ a; P' P<P>  </P># W9 i3 t; g$ ~0 m8 }% U
<P>   Query1-〉Active=true;//查找符合变量的记录 </P>
! h. T2 [; s& _! {! W9 }5 }+ O& {<P>  </P>$ ]# R, r; T1 V: l% _' I
<P>  (3)用DBGrid显示结果 </P>0 ?5 b6 Y" `% S9 J0 n4 T
<P>  </P>
, S/ P9 M/ f7 b# ]+ b<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>3 z: _' d5 R8 \
<P>Tquery1 连接。 </P>
/ A: v  B1 x& ?6 W# K9 D- ^<P>  </P>* q( W! v, F! q: O6 R
<P>  三、应用示例 </P>
: j# b. i/ o9 y& ]. w  J) @<P>  </P>  A) ?5 ]9 U/ v, w6 n4 J, I
<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>/ n$ h( h4 W" {: u+ o
<P>  </P>$ D+ S  Z. S9 }
<P>  用一个简单的代码来说明如何建立查询程序: </P>
" s/ S+ a+ R- l: b8 i) S3 P/ o<P>  </P>
. E: n1 b5 ?, }8 D" l* _$ Y<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>) ^% ?2 X) l# ]
<P>DataSource,Query三个控件加入以下代码: </P>3 E0 r8 ]4 j" R! l: t# `! G! T
<P>  </P>9 P1 Q  b  k: M4 H! v6 |
<P>  DBGrid1-〉DataSource=DataSource1; </P>( _3 |( j7 p/ j/ \
<P>  </P>$ m1 D9 G+ J; V' z
<P>  DataSource1-〉DataSet=Tqery1; </P>$ g# E% }# D# J4 q* C- ]/ W
<P>  </P>* j) Q+ b* z& h( f7 t
<P>  Query1-〉Close(); </P>; I# M) v( {- R& n: |* Y
<P>  </P>1 v% h: ~  r8 ~% f, g
<P>  Query1-〉SQL-〉Clear(); </P>4 P8 e# r" s; Z
<P>  </P>4 W+ h# a. e8 y+ [8 R; X, ?, N
<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
% ^" G& A( V  u<P>); </P>+ N! v, ^( g, T/ E
<P>  </P>6 M0 V- }3 [+ ?* g
<P>  Query1-〉ExecSQL(); </P>) {+ [4 K$ G3 `
<P>  </P>- E9 n5 [* s! N& ]( Q' j
<P>  Query-〉Active=true; </P>
4 ]7 L( H& U$ L' W- m; ^  W0 D8 V) c<P>  </P>
- }8 C, \) n; P<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-6-11 16:28 , Processed in 0.420981 second(s), 51 queries .

回顶部