QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:36 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>  </P>
0 f+ F# c; x3 D. H0 P& [" d<>杨超 </P>7 b) n+ l+ j# p1 X+ V8 D& R
<>  </P>
1 _* s0 q+ q. h( z<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
; G0 F+ L/ u) V0 [1 }& e% Z<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>+ G" j  R. `( m+ u
<>写一行程序就生成漂亮的数据库程序。 </P>
) E: N" L* V6 r8 v<>  </P>
1 Z# h5 C1 _5 T6 W* H5 s<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>  a' _" A* ~, p8 P
<>  </P># N/ p+ p2 B1 @/ L: y5 [
<>  一、DBGrid控件 </P>2 G- j8 `- P& e( H" q+ g
<>  </P>2 P' x! @0 N+ F, T3 K! y
<>  1.设置DBGrid的字段显示宽度属性 </P>! \  w& S3 q. C, r$ P; h
<>  </P>' D: u' |( K. H5 Q5 M- C# p
<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>! \: D  G: K( X# `4 ?$ T! N- w
<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>, w& l' f$ F4 ~' l3 Z8 {  U
<>个字符或更少。 </P>
; Y  c2 E! k# I+ L<>  </P>
4 D4 U! b* h6 T, i<>  2.改变DBGrid的显示字段及日期显示格式 </P>
# f" X  h& K1 J' ]<>  </P>
. `9 W5 R: d$ l; S  U. C2 G4 y<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>
* K: z5 o8 \; M7 I6 R- O8 Z; z<>  </P>% _6 t, S) A- E" P5 T
<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>! M- @% @7 t5 E  r& u' P! s7 G9 v
<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
1 ~; d6 g% u& c7 U$ _: p<>  </P>5 p+ S' l* o( [/ P8 U$ f8 ]
<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P># A9 S3 s' ]3 p4 ]6 O! j* \  ]4 L, d
<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
$ }* p  n8 N  k1 L" a% Y<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>
3 t( W2 a  i, |( L( Z/ f  x<>1999-05-28格式显示。 </P>
/ Q1 U! T. I: M# {2 w' `<>  </P>3 k0 ~) ?( F/ @$ C2 h
<>  二、Tquery控件 </P>; b7 T5 S1 E, N/ z7 M
<P>  </P>
( t( \& l; R+ _3 `+ Y6 S<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>6 R2 ^" u# T5 L, K' Q( y
<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>% ^% S5 |' E0 B3 |8 u, k3 ?) {6 `
<P>  </P>
& R/ f9 H$ g7 m5 I2 t! u<P>  </P>, S! T. v. R$ R5 B9 z9 M
<P>  Tquery的参数设置如下: </P>
/ g: Y- n! B8 s( E- Q<P>  </P>
; g2 X' j) ~: O$ C4 V<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>7 V" i' H; P' j( ]+ [1 r, ~, L
<P>  </P>$ B6 w0 S9 M" w2 T3 k( {
<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>
+ u- J0 A9 w  j2 K' Y<P>据类型等。 </P>
. q' k: ^. {2 J$ {& @<P>  </P>
" m' V2 X) D# f9 ^, \<P>  (2)对变量的赋值: </P>! g6 l* q: T  D& r" }$ O
<P>  </P>
9 Z/ C, M5 o7 l2 k' D( @% G! y<P>   Query1-〉Active=false; </P>
4 ^( v  o$ P4 p4 _' G1 v: q<P>  </P>7 j* i6 ]; U# n& i0 F' D# Y7 k" U
<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>
7 _* M" ^% E  d4 u3 J<P>  </P>
& N8 J- x: @. p# u6 J<P>   Query1-〉Active=true;//查找符合变量的记录 </P>
! {, Q) {) w" S- P- z) O# H$ P<P>  </P>
" d: c5 B8 p* E/ c<P>  (3)用DBGrid显示结果 </P>
4 E; N: a$ ]4 K<P>  </P>
+ |8 ]+ P8 Q9 }<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>
: A4 y2 G  D/ Y; `  U3 q2 i1 H<P>Tquery1 连接。 </P>
4 l1 T& M8 f' {! W<P>  </P>
* K; G7 `9 k4 H! ?<P>  三、应用示例 </P>; h- \1 F- S" z) `) T
<P>  </P>
" c/ k- c, M7 c/ K/ t<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>
/ B  d& c: T% L2 V<P>  </P>) }1 q  ?( i0 C2 K. V; N3 M
<P>  用一个简单的代码来说明如何建立查询程序: </P>
4 g% T  j, J8 M9 g8 g4 R3 \2 Y$ a<P>  </P>
; `' ?/ {) j$ X  y* a<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>
2 J! r5 t: s- X9 n& g# P- g0 G<P>DataSource,Query三个控件加入以下代码: </P>
8 D" U  K1 H. B4 T3 `<P>  </P>; _! W  e* B+ y6 v  d
<P>  DBGrid1-〉DataSource=DataSource1; </P>( a' {' h+ T( Q. @& q! Y
<P>  </P>* Y! z6 v6 |3 A
<P>  DataSource1-〉DataSet=Tqery1; </P>2 k9 ]! }: b4 R2 v' ~' X" }0 G/ f
<P>  </P>3 E  P5 n/ w2 h% x
<P>  Query1-〉Close(); </P>
5 |4 c  V) ?5 I" E4 _/ H( _<P>  </P>: r* O# R$ K) V1 ]  Z( Y& a9 K
<P>  Query1-〉SQL-〉Clear(); </P>  m* i* s& I- C1 G$ a, j0 P
<P>  </P>
0 M; m& j0 m$ ^* E0 Q<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
( T/ o" D/ K* H% w0 w<P>); </P>& O% Q) Z; D: }+ [8 D8 S8 t
<P>  </P>
) ]% f( t8 z' f% w1 |9 ~<P>  Query1-〉ExecSQL(); </P>
, K/ g1 {+ i. x' _& c- q: _<P>  </P>
* b# K* W& ]" g- B2 D( g# o. y<P>  Query-〉Active=true; </P>
" U9 m- w; T' j. R/ \<P>  </P>
7 L. _  f" s* g& f<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 05:12 , Processed in 0.443473 second(s), 51 queries .

回顶部