QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:36 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>  </P>
1 T0 \, }+ m6 {& F<>杨超 </P>
* m$ S. w6 w; }- R2 c<>  </P>
: ?9 A4 B% V" }<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>( g. D- e5 ]8 x: ]
<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>- x1 c6 ^% h! i- q
<>写一行程序就生成漂亮的数据库程序。 </P>2 y& x3 P! Z* f( O; ^; I# l, z$ k
<>  </P>2 l* w0 `; v6 v: \
<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>6 a% @( D" }0 O, l
<>  </P>, b9 L2 M+ I; E% Z  h6 `$ U2 g
<>  一、DBGrid控件 </P>- T5 n$ \1 M( O
<>  </P>
5 `# q- ~5 u' @% W4 v2 `5 k<>  1.设置DBGrid的字段显示宽度属性 </P>4 \+ B- K: d" U6 @  ]8 |" M+ S: k
<>  </P>2 Y' L& G* \; {6 X  s$ I. M
<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>$ z* I2 N! }; d" \  R8 o
<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>) M. L. M8 b0 N/ O; _0 S! r
<>个字符或更少。 </P># T2 V; i" h2 A* M* m. k3 }$ A1 f  n
<>  </P>( S0 e' b& E& b; Y
<>  2.改变DBGrid的显示字段及日期显示格式 </P>
/ |  p* ?& ^5 w4 j9 m<>  </P>
( \0 _- t3 {7 Y$ U8 \<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>
! z6 M2 c3 E6 r$ Q0 d6 V; I<>  </P>
. }6 ^$ k* h& x<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>
& h- z2 `. m* ]: H& C% `<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
. t0 q3 g  W! F1 {0 G1 N<>  </P>
6 Z1 I6 {& _& m; l0 F* p( v( \: T1 K<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>- K" U8 H( ~" r5 d6 Y
<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
" l" f2 A& F1 Q<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>7 x0 z0 [8 \9 Y+ t
<>1999-05-28格式显示。 </P>
& r* o- Z0 s. v) s3 G  f  e& k<>  </P>) |$ ~# I0 d- ^# Q
<>  二、Tquery控件 </P>
0 D2 R$ R- S0 U" t+ t4 s<P>  </P>
. G) Z3 O8 {) b% a9 Y3 m<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>
( Q; I( t: t1 r" `% |<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>4 N, k/ @5 [* [3 l5 h6 P4 k
<P>  </P>
7 f/ g+ Z; P* f2 L  [3 j<P>  </P>
- Q1 g1 Y7 ]/ ]( N<P>  Tquery的参数设置如下: </P>$ _0 F9 l3 |# T1 a+ E5 q3 y: e
<P>  </P>
8 K  g+ a# r7 P  \+ }<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P># d* c/ b& T6 J# E# W
<P>  </P>
$ ~& j) [9 J+ @+ O- ~, B<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>  f* x# c3 C/ {2 t" q
<P>据类型等。 </P># X  W" n  p: C4 {1 s1 F
<P>  </P>
4 y3 o# Z- U5 _6 u, B: T<P>  (2)对变量的赋值: </P>
: H& l3 H$ T: S2 K6 B: a<P>  </P>- v+ N: y! s3 B2 Y1 j5 q" ^
<P>   Query1-〉Active=false; </P>
* b3 Y0 `% h0 W! \/ F; X; l1 o2 r<P>  </P>2 W3 X" a9 [+ F+ r5 A3 z, {% y. t, z
<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>9 v! T8 P, z& u- C3 b) O
<P>  </P>+ h$ i" U2 m8 O: ^1 P# L. p
<P>   Query1-〉Active=true;//查找符合变量的记录 </P>
, l* s  V! F3 N) g+ ?2 G* ^: Y6 j0 u5 }/ @<P>  </P>3 t+ ^: F) a0 W' N9 ^" T( M1 K! L3 a
<P>  (3)用DBGrid显示结果 </P>% _- e8 [( n2 u- h* d8 K+ h
<P>  </P>3 X9 x3 h; X$ ~
<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>- g) H- o" c3 V3 V
<P>Tquery1 连接。 </P>" s' S$ W- }) C6 A% y
<P>  </P>) p$ N( y# @. a3 T5 W
<P>  三、应用示例 </P>
, O' k/ v& y5 l9 x" ]<P>  </P>
) p& S! i* A0 ^4 |# E" K<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>! Z' S: N  v, Q- @
<P>  </P>, m) G  W0 V( i. z4 v$ K
<P>  用一个简单的代码来说明如何建立查询程序: </P>
: D# M( F1 C9 h% n<P>  </P>  F( }+ E! g6 @9 c8 I
<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>
2 n2 O- F% ]( O0 W2 L0 Y7 [<P>DataSource,Query三个控件加入以下代码: </P>3 u  w+ X6 ?6 l& j8 ]- `
<P>  </P>- X4 x% a" u' O+ j8 _1 ]% G
<P>  DBGrid1-〉DataSource=DataSource1; </P>
6 {- D- A! X4 |. v5 c' F<P>  </P>6 p7 L" j( M+ Z  E+ I
<P>  DataSource1-〉DataSet=Tqery1; </P>
7 h9 ?6 X3 L/ r! I<P>  </P>
; o' C" ]0 M. K0 V2 a<P>  Query1-〉Close(); </P>
6 m( H& S6 f5 L6 N3 ^& M3 g% Z( b<P>  </P>% T8 M9 t2 n4 B% o/ v/ N1 m
<P>  Query1-〉SQL-〉Clear(); </P>
9 B( |+ V  B) V7 y4 I0 q0 {<P>  </P>+ C2 v6 z# }) ?# c/ \1 ~6 N4 e
<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>0 ?. s2 I$ g5 }$ j
<P>); </P>
% Q1 Q: C$ X( M0 V9 [9 Y# P<P>  </P>
& F" h& Y7 K0 ~7 y<P>  Query1-〉ExecSQL(); </P>
' l* E- R) \) T3 ]( ^<P>  </P>
9 l' ]) J& ]% Y4 K8 `7 M: z2 y$ |<P>  Query-〉Active=true; </P>
- i! u% b- n2 w( V6 _<P>  </P>( e& p; O4 ?& s5 l" s6 X9 G1 k
<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-12 22:59 , Processed in 0.377427 second(s), 51 queries .

回顶部