QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:36 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>  </P>
; W, o9 A! @4 `1 E<>杨超 </P>6 \8 k2 }8 u0 `& o  Y: u
<>  </P># y. b8 s& {0 p& K4 U
<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>2 j% `( V5 w* W' n2 J  R" _; j
<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>
6 g' ~# `6 i' j. m' H<>写一行程序就生成漂亮的数据库程序。 </P>8 ?! P6 E# W% u( g& L# x  m9 Q
<>  </P>. u, }' q/ T6 g+ c1 S( K) F1 S
<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>
, Q: P/ S' y4 B5 e/ U<>  </P>
& r4 x  k# z: C5 J" K. j  D<>  一、DBGrid控件 </P>9 m! r1 F' ]$ i% V8 D
<>  </P>
2 l+ z# t8 C; ]/ i8 D# b$ i! R5 Q<>  1.设置DBGrid的字段显示宽度属性 </P>& J# o3 f4 g) c6 I# u* W( a
<>  </P>: G; l& \# F, P+ Z  M5 f1 ]
<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>
) C6 @% ]2 P- G, w" u' w% k<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P># O2 ?) L: W6 R: d" Q( B
<>个字符或更少。 </P>& p7 X' C. P1 P* x2 J
<>  </P>
0 P" z( o! J) m1 f$ T) J# O% Z' ?<>  2.改变DBGrid的显示字段及日期显示格式 </P>
; k/ E9 @9 C& [+ U<>  </P>8 E- ~5 F! Y' d2 `
<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>! B2 A% V, B# h& T+ A4 i
<>  </P>
& r9 \- q6 }1 L5 E' A! ~! `<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>
( l9 U4 Z9 W6 J# o) ]) d( k<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>. A# [& W, ]6 Q  Z  L
<>  </P>
+ c& D$ L5 ~4 T5 B6 K. d/ P<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>: D* G2 O, w% R) l$ r4 f7 J
<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>+ [, T; p/ ?0 c2 F  |
<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P># i6 c  H. J& ^
<>1999-05-28格式显示。 </P>) ^) z1 w+ }; e) w& y" i
<>  </P>
8 d; Q( P8 e6 K7 w2 [, P<>  二、Tquery控件 </P>( x0 U0 }# y5 M# l$ i* ?/ x
<P>  </P># ~& u( o  l1 u* n
<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>% x+ K9 @" x! y
<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>' b; \# ?; o: v; R& z% |
<P>  </P>) R# z6 F$ M! @7 @$ j1 }- M
<P>  </P>
. R5 `- ~8 ]6 w0 H1 G) ~& c6 D<P>  Tquery的参数设置如下: </P>
4 `+ L4 P: G1 g! |  J9 }<P>  </P>; |: Z" S+ A8 G5 t& j  _
<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>0 b" [: F& H! t& r" A/ F
<P>  </P>
- B/ L/ E& J3 r- X<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>
0 p- j" X7 S  ~* O+ }<P>据类型等。 </P>
& v8 z. |4 S+ D! c+ r2 H<P>  </P>
* k4 |6 h5 b, Z5 c5 c<P>  (2)对变量的赋值: </P>( `* @3 a* H0 I( j+ Z
<P>  </P>& p% g& W' D0 _! `5 j+ S
<P>   Query1-〉Active=false; </P>
  a1 r+ R  R6 `! Q<P>  </P>, {+ F, z  K$ }$ }6 \
<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>6 z4 `0 o& B. p3 ?6 E
<P>  </P>! A6 U4 w( p! X" _
<P>   Query1-〉Active=true;//查找符合变量的记录 </P>
- c8 _/ a2 D$ B1 \. Z<P>  </P>6 {5 ^) U0 P& O( m  e! l! D' z6 B
<P>  (3)用DBGrid显示结果 </P>2 A, O3 b1 E6 v5 W! t2 ~; ~5 l
<P>  </P>6 x" y- T0 {$ K1 ]
<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>" C: t, q7 `+ J" }* S
<P>Tquery1 连接。 </P>
3 u! ]5 U! l& ]( w3 I( N: f<P>  </P>
; L( O( |  O4 N8 y* Y2 ?- _<P>  三、应用示例 </P>2 `" Y5 A  i3 C8 \" |' _
<P>  </P>
: b; [5 F9 S% S. T<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>! |9 E' p3 X; |
<P>  </P>
, g4 N8 S. f: b4 p<P>  用一个简单的代码来说明如何建立查询程序: </P>, X% p* T3 o% t8 A
<P>  </P>0 ?6 r+ e, Y5 b# `
<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>
  A* Q# d9 I# B& u- y$ Z<P>DataSource,Query三个控件加入以下代码: </P>
( c5 J- |1 r$ F8 [<P>  </P>- h* T3 `& ^" B8 T* |. k% B+ K  V+ [
<P>  DBGrid1-〉DataSource=DataSource1; </P>3 X0 {  T$ K7 Y0 s) [. S
<P>  </P>
3 j* ~& y" B) q# F' q( z4 ?<P>  DataSource1-〉DataSet=Tqery1; </P>
- X& b& Y( r2 @8 k, ~5 o<P>  </P>, T: H' ]+ I8 I+ K
<P>  Query1-〉Close(); </P># ]% |8 y" H5 f; {: m
<P>  </P>
8 \8 ^* q2 r/ w; s" t<P>  Query1-〉SQL-〉Clear(); </P>/ f: k8 V' y0 D; M5 Z
<P>  </P>5 E2 u. d  o. O( q
<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>4 C, k) k1 [; s7 v
<P>); </P>
( S+ p' r0 K, y% @0 G<P>  </P>4 y7 X- U: j3 Y8 G9 ]- X, A  K4 I
<P>  Query1-〉ExecSQL(); </P>' P3 q8 K3 x& r( g
<P>  </P>
9 T: k7 J8 ~2 O! w<P>  Query-〉Active=true; </P>4 M  w/ P: z& @5 Z9 a) f% `
<P>  </P>
# {( ~8 `2 k+ E, q& Q) C1 q3 B5 r- Q<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-21 11:01 , Processed in 0.438683 second(s), 51 queries .

回顶部