QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:36 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>  </P>
, }- h$ g, i7 G/ \6 j<>杨超 </P>
! q% w8 h% [! _, g( ^5 U# ^4 _<>  </P>2 Q2 q; B& K' K, `% w  |
<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
' d) J3 S6 ^) V- d; Z! |. D+ R6 C<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>
* C/ ~1 f0 ~! C2 f9 k<>写一行程序就生成漂亮的数据库程序。 </P>
  s) M4 E" R/ K1 E5 h<>  </P>
% F; A. e8 x% v3 ]. i: a<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>
$ M: E& w6 P% u<>  </P>$ f/ H) }) p) X
<>  一、DBGrid控件 </P>1 _% F' E/ g7 l" g2 e
<>  </P>5 k. U# [' h* }
<>  1.设置DBGrid的字段显示宽度属性 </P>
9 N4 G  `( l& p9 n  D<>  </P>1 Q1 X* u9 K. m( P
<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>9 R9 K0 I+ \3 X0 }/ m$ i
<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>
  ^5 U# r: g4 B% {7 E0 V<>个字符或更少。 </P>/ _3 ]% N& {" B5 A8 g; G+ C! N. y, S
<>  </P>( r2 ?* l4 ]$ O( s# K1 w
<>  2.改变DBGrid的显示字段及日期显示格式 </P>
: x7 R  e7 d' z* L8 L" r<>  </P>
6 _  R0 ]% o0 q( I1 t; h6 ?<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>
/ E1 |: S2 |- w) @1 `<>  </P>
+ f5 z2 O; k, j! v<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>
# N$ i8 b  T. C" I8 p7 O; U0 g<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>: z% N  i/ Q, c& r) h! L, L: v, |
<>  </P>
! B9 I+ b! ?$ z' D<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>/ d/ C( Z! g' P& Z( b; `% q
<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>2 Y) V# P( L5 M' r0 t
<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>
) c7 f$ o4 [# H: y9 `<>1999-05-28格式显示。 </P>' F, w! l& |! u' [3 g. r
<>  </P>0 q: y" q) R( j" p6 x
<>  二、Tquery控件 </P>
/ e9 m5 g& Z' C& Q' l& r% C$ i$ G3 }<P>  </P>' {( n+ C6 o6 Y
<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>1 _+ X5 U1 c9 o# {* V' U
<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>
: m1 r& L% Z, V) g; j) ?+ @! {<P>  </P>) L) L# A( R5 a6 S. s
<P>  </P>
( K- [: [/ H8 d<P>  Tquery的参数设置如下: </P>
+ e4 e: c! d; V- L/ r<P>  </P>5 u7 I- I& K5 U( j$ G0 ~5 R
<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>
' F6 d- ^3 m3 y& d. x' v0 a" p<P>  </P>
8 Y& @4 @+ o! R" k8 r<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>
2 ?" I9 h1 Z$ G7 C5 i5 ?<P>据类型等。 </P>4 k! x$ }* p" {% s& Y& [- z
<P>  </P>* c, G3 K/ f5 f
<P>  (2)对变量的赋值: </P>
2 F% I6 X6 x% d, q- V<P>  </P>; [7 t2 |2 ~' a
<P>   Query1-〉Active=false; </P>1 ?( }# ^" K/ Y( G
<P>  </P>( A- _; z7 B8 \' J* L+ d
<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>9 D1 A8 m# Y7 C/ ~" L/ M4 J
<P>  </P>6 c& V0 C3 y' r7 ?9 I
<P>   Query1-〉Active=true;//查找符合变量的记录 </P>
6 R+ C- A* d0 R& O) c: p<P>  </P>5 ]$ n3 B+ X, a. E6 ^% M# T* f8 x
<P>  (3)用DBGrid显示结果 </P>
( n+ L2 _( z  g0 Y# D3 K( C. z% d<P>  </P>- I3 x5 h+ a5 ^5 B8 f3 [. w& _8 [
<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>
  X# A% F3 L$ g8 v<P>Tquery1 连接。 </P>
9 |0 w5 K+ J. F0 O- T: W$ V$ e<P>  </P>
) g' C, E& |) Q- t8 w: q% Z8 V<P>  三、应用示例 </P>- x* O) \8 q) m1 E9 ^' U0 x4 Q9 u6 Q
<P>  </P>
/ b! c, w0 a9 P5 A<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>  `) S# ~  X" r- M! l
<P>  </P>4 ]" F7 j# }- \
<P>  用一个简单的代码来说明如何建立查询程序: </P>! l7 L# X  h' l
<P>  </P>
3 J5 q0 L# |1 j7 K1 I<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>
1 q4 p2 w# }% H- V# |9 u4 U+ m<P>DataSource,Query三个控件加入以下代码: </P>7 V" ]3 h% t6 H8 n% T, u! T& U
<P>  </P>' v6 O  ~6 }- v0 \4 v+ S' J. Y
<P>  DBGrid1-〉DataSource=DataSource1; </P># k( e/ o2 K' w  g( s
<P>  </P>
) P/ ^* s* p! x, ]<P>  DataSource1-〉DataSet=Tqery1; </P>
0 [7 @7 h( ?2 D1 ?. E- S<P>  </P>
6 @0 _* a5 q* d9 N0 X7 [<P>  Query1-〉Close(); </P># i+ G4 q2 B( C" E: [" y: v
<P>  </P>: _. x! ~$ i6 n* j6 X) X
<P>  Query1-〉SQL-〉Clear(); </P>. }/ t4 f; z/ y2 t6 Q0 c
<P>  </P>8 g9 Q, f+ k# G, a  g9 t7 Q
<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P># ^! O( m0 A; a0 }
<P>); </P>8 u& y, j- K9 n) W( Y8 \
<P>  </P>: W  |" w3 L  m3 \! Z
<P>  Query1-〉ExecSQL(); </P>
4 e6 `. B8 b$ a6 n<P>  </P>( f% O* r; F1 v- H! G
<P>  Query-〉Active=true; </P>
' S5 G8 j9 R* p* B( _5 o) l<P>  </P>+ a1 e- Z+ y: S! Z" i
<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-5-26 05:46 , Processed in 0.316437 second(s), 52 queries .

回顶部