QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:36 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>  </P>6 n8 g, o2 G& E9 x! b* s( L( {
<>杨超 </P>
+ v! X0 u  a9 m. D* t- i<>  </P>
2 g# F- T/ u( @' q! Y<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>1 J! {+ G# N6 |- B  K6 v! Y. o
<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>
4 _; ?) D7 p: z! w<>写一行程序就生成漂亮的数据库程序。 </P>
& i! [: k( x1 u! S+ T* I<>  </P>
: I5 Z' n/ j# N9 V! a<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>
+ v8 i) _/ C& I<>  </P>
2 _9 \' [# R/ |4 U- g<>  一、DBGrid控件 </P>
2 c& l4 y1 f4 [" u+ ^! X5 M9 ]0 X<>  </P>1 _: x6 C- ^3 ^  Y, d! i
<>  1.设置DBGrid的字段显示宽度属性 </P>
& r/ ?% t* l1 f<>  </P>/ k* F! l$ N. }: ]% Y
<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>, @2 i0 p& @' P3 b
<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>9 r7 G( [! X# A9 @% G, O7 P
<>个字符或更少。 </P>
6 B# e0 |+ y5 E) f* ]& R, ~<>  </P>
9 e( U/ J+ E9 Q2 A- ], X) s; g<>  2.改变DBGrid的显示字段及日期显示格式 </P>+ t9 v; f2 e0 |
<>  </P>
2 r$ y- o2 g& f  k. i$ H<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>' M( {% c6 g+ M6 U- T3 g9 m
<>  </P>
0 K  B1 i" a& v2 D5 `% C, G# H<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>4 _* a7 c! \1 e
<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>7 U( G7 `" s) E, ]6 b9 h
<>  </P>
7 a6 B; z% K) g/ f* W( u" S; L: c<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>. t) a% W$ S; x# q3 _/ i1 D
<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
9 j7 X) ~% O  y  s+ E* _; t<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>. b8 e8 v/ P9 Z' i  _
<>1999-05-28格式显示。 </P>
! f! L! U- o! i/ U4 Y) K5 s. n<>  </P>
5 K# o1 ]- B8 f" `/ z6 r% R<>  二、Tquery控件 </P>
, n. B# o8 u% R" Z/ |& z<P>  </P>
3 x4 c" B/ s/ Z" i/ y* `<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>
! y7 b3 T/ ^( h: n. p4 a<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>
# ?& Q9 U. H$ A# m! H% V! f& h<P>  </P>
' Y$ e9 s8 |4 x( E0 _<P>  </P>
9 e9 B' t0 z/ M8 `3 p  M- K0 P<P>  Tquery的参数设置如下: </P>
: F, Q; \. a- W& F- O  p. c<P>  </P>$ C. {( ?- @5 c, b5 |4 b4 p
<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>/ Y+ |* \  P1 Y5 l0 R7 \
<P>  </P>
- c( \; f* F+ V  b4 C( G  v4 T<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>& e' [, E3 T$ {4 h3 i- z% l8 }
<P>据类型等。 </P>
  f* E, _" L$ U<P>  </P>
7 @; q3 B" v* R, u) Y+ W<P>  (2)对变量的赋值: </P>
% d  D* ]& N; Z" `& x3 n3 t7 h6 _<P>  </P>% h1 f" d/ S7 t& W5 I; d: C) Z
<P>   Query1-〉Active=false; </P>" |/ y" D. v. w; W' g
<P>  </P>7 H6 k' J6 D6 k( m# Y- v
<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>
( e3 A1 y7 Y, |$ w' U<P>  </P>
- O5 Z& U1 d7 {9 r<P>   Query1-〉Active=true;//查找符合变量的记录 </P>3 d& X- H+ z" i& H& ?, ?
<P>  </P>
! t9 f, n/ d( L4 F! ]3 A<P>  (3)用DBGrid显示结果 </P>/ A7 X" }( @* }, H/ U& b& u2 Z! ^/ l
<P>  </P>0 R2 R# Z4 P% I; P
<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>
, [6 P5 y' K% s- \% F<P>Tquery1 连接。 </P>
: v, d* ~- A" u- L( K$ I+ l<P>  </P>
2 q! |: X3 ?) m6 W<P>  三、应用示例 </P>+ b: m* W+ h6 J" j9 A: C
<P>  </P>8 g! e6 C! d- d" {
<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>
' t5 ~: Q' D' a$ E! t' r% ]<P>  </P>
8 b* y) K" n0 Q$ `$ H1 n% X4 s<P>  用一个简单的代码来说明如何建立查询程序: </P>: U* \" h6 D. ^$ z2 p6 l
<P>  </P>. T+ @6 A, d. X  b9 Q
<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>9 j- ]8 y2 V" x
<P>DataSource,Query三个控件加入以下代码: </P># y# V; C5 F4 C+ _. }
<P>  </P>' W6 F) v- m, B# ?' l  l
<P>  DBGrid1-〉DataSource=DataSource1; </P>
( z/ `! G+ W0 t+ G4 `1 ?: D<P>  </P>% ?: c! h0 q9 c$ E4 Y: ?
<P>  DataSource1-〉DataSet=Tqery1; </P>0 M6 W2 T# O2 Y2 x0 k, A6 z
<P>  </P>
1 }1 j8 {2 j$ D: |$ A<P>  Query1-〉Close(); </P>  \0 K; R3 O& n: v
<P>  </P>& N" N3 I- z7 G
<P>  Query1-〉SQL-〉Clear(); </P>
3 {5 [, @- j; |6 ~( }* l8 C7 k# q<P>  </P>' G6 u$ Q( S9 a( }6 ~- P( z
<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
6 q' d' \9 h1 X6 Q; g<P>); </P>! {$ T% g2 M# Z& f& Q
<P>  </P>: C" c/ `- i5 m4 A
<P>  Query1-〉ExecSQL(); </P>
( ?( p% e$ m) ^* V<P>  </P>, S' q; u; }/ I7 a" e
<P>  Query-〉Active=true; </P># o. y3 l1 ~3 N* K& @
<P>  </P>8 B7 Q; b: i' b% F9 E5 T
<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, 2025-7-26 13:09 , Processed in 0.358968 second(s), 56 queries .

回顶部