QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-26 12:36 |只看该作者 |正序浏览
|招呼Ta 关注Ta
<>  </P>/ L2 L' {, {0 {
<>杨超 </P>
7 y) J; X$ M5 x3 o<>  </P>
4 _2 `5 N& @4 j- X. F<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>6 P+ `8 g1 f9 T6 L9 a& J' J
<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>+ |# Q4 o6 }- s# h: A9 L
<>写一行程序就生成漂亮的数据库程序。 </P>7 ]& P4 k$ ~  Y$ T
<>  </P>" u' {$ ?& r1 i; {3 w
<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>: {( x. y% d0 ]
<>  </P>
; X1 [( w2 O* E3 M" S. I<>  一、DBGrid控件 </P>
$ ?' ]6 \# l' \- G<>  </P>
. Y6 z) S# X: v: m" l" l' W<>  1.设置DBGrid的字段显示宽度属性 </P>; C0 |* f. S- W8 l  @( X% f
<>  </P>
2 W0 {7 @3 }! @1 \0 ^* c% }% i<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>
/ g4 j: N- Z$ Z9 [, B1 F<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>2 }2 r0 l, i% Q! j! l
<>个字符或更少。 </P>5 F" t, ?3 P* i9 V
<>  </P>
$ j/ x* |! Z) G<>  2.改变DBGrid的显示字段及日期显示格式 </P>7 K9 a. `" }" _
<>  </P>
: v; J  j* y) ^* }# P* m  ^<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>
: ]  n: @- x) v( Y/ s5 V<>  </P>
: ]! Y6 P+ j+ N# g" C<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>; u1 @# [, _/ `! v& Q
<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
4 _' {4 b1 `' ^* u<>  </P>. R! J5 T, \$ T* e
<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>
; D; o1 W: _6 w% d- c! R<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>; j0 C2 j. a; p
<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>  e+ N5 ^3 A% S2 u3 J8 n5 R
<>1999-05-28格式显示。 </P>
* W2 w) ^; h+ b6 w<>  </P># J7 c! Z! z* F. x
<>  二、Tquery控件 </P>
  v0 \# L  S% \* M9 X+ {<P>  </P>
# K# ?) |! @) w8 ]+ P<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>6 P8 ]; T. M+ R! F0 a
<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>7 k: \/ I9 S. M% K  G' e
<P>  </P>
# O; O5 k- O& B<P>  </P>- o* \# p! e+ [/ A3 @
<P>  Tquery的参数设置如下: </P>
8 T/ w& o. j: \$ H<P>  </P>
( c9 ~5 h; m4 H1 f& i) k' \<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>. ]4 R3 K1 g4 t% S/ z" U/ q
<P>  </P>
9 R. K9 h, B) {8 l. P! _. l6 u<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>
& R8 G7 p7 p7 A& z3 }8 N<P>据类型等。 </P>
& U) G* K- {! B: [1 p+ `( a- ?2 i<P>  </P>" ^! Z% @& E& a+ h8 R8 \
<P>  (2)对变量的赋值: </P>
* l: {: N# \( w) ?<P>  </P>
# Z. T% @" ?! ^9 x<P>   Query1-〉Active=false; </P>
# F, q* T1 r% E<P>  </P>
+ q8 ?  q! K7 @<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>
( z( D  v7 J' m! n; J- s<P>  </P>
0 M+ _, j* }- C3 B' S5 l' }<P>   Query1-〉Active=true;//查找符合变量的记录 </P>, I3 @% a' c. n6 s, U
<P>  </P>
* M  l' U# p7 d4 z<P>  (3)用DBGrid显示结果 </P>
4 h1 W" [- o/ B5 W  J<P>  </P>! u4 ]" M5 j: Y/ t* [& N
<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>
  d  b, ~( J& J) Y8 e1 Q<P>Tquery1 连接。 </P>3 a% \& \! T5 v
<P>  </P>& R+ _2 F3 w1 ?) B
<P>  三、应用示例 </P>- J' Z7 p/ z7 O' O8 {
<P>  </P>
5 u  |& E9 \; j. \9 Y3 c<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>( O( U5 P# ?2 L9 s
<P>  </P>, ]# d, y3 Z4 b( W) j2 B) E
<P>  用一个简单的代码来说明如何建立查询程序: </P>  w- E4 `4 P5 Q3 a  I. j
<P>  </P>
$ x6 c8 T8 Q& e$ n3 S2 K1 L<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>7 f# v! N$ S' W8 c0 _
<P>DataSource,Query三个控件加入以下代码: </P>7 r& |) i- I* w: [4 q% l% b
<P>  </P>
: h0 n% H$ j2 A$ F, j<P>  DBGrid1-〉DataSource=DataSource1; </P>% @7 E" T  b, ]6 e- n" Z
<P>  </P>* L: X% N, f1 Y1 x3 b# F
<P>  DataSource1-〉DataSet=Tqery1; </P>. ~5 X0 t7 f4 q7 b  u
<P>  </P>7 U$ y) ?2 |8 L4 ~7 Q0 z
<P>  Query1-〉Close(); </P>
6 |5 V8 t* ?; ~1 d4 k" `/ W<P>  </P>
1 ^6 W  l, K" N+ x<P>  Query1-〉SQL-〉Clear(); </P>2 Q: m. {/ j# V  q; `, L
<P>  </P>
7 X/ w/ v. t2 `0 d6 u3 q+ i<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>5 l& b( j6 q& O
<P>); </P>
! s; ~7 p. I0 q8 E& c<P>  </P>
3 O7 N# b# a% U4 {: f- i5 G( |, |<P>  Query1-〉ExecSQL(); </P>
/ ~" D7 [1 n: ~) d/ z1 g<P>  </P>
! s. a* q3 k4 k<P>  Query-〉Active=true; </P>
; e) N! o$ M" W/ g+ `<P>  </P>0 b: L' }5 H: n  `* z1 n
<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-6-28 17:13 , Processed in 1.661497 second(s), 52 queries .

回顶部