数学建模社区-数学中国

标题: 用C++Builder 建立数据库VCL使用经验 [打印本页]

作者: 韩冰    时间: 2005-1-26 12:36
标题: 用C++Builder 建立数据库VCL使用经验
<>  </P>
; B6 J' y9 C2 w7 a8 }0 q  l$ T7 U0 Y<>杨超 </P>
1 B/ c5 D  r3 k! S* Y<>  </P>
8 y; M% L* ^3 ]$ Z: K( `; G<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
  A2 B' y* g$ e! }+ u! y/ N<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>; U. @- |  A# N+ Z( N0 T+ L* z' }
<>写一行程序就生成漂亮的数据库程序。 </P>
9 b& Z& J% X6 B* z/ z( j* n<>  </P>
6 o) R+ ]# l8 N) V- F2 w) F0 Z<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>) B( l2 K/ f' O
<>  </P>
) e* v$ L: v* Q9 n# Y  Q. r  o<>  一、DBGrid控件 </P>
; G6 Q) e9 C# j4 D<>  </P>9 O$ C2 k6 m' w2 [1 l7 B/ k
<>  1.设置DBGrid的字段显示宽度属性 </P>5 A/ s2 L: e, D1 P( G/ p
<>  </P>
/ O* @9 o! f  X<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>& @7 @3 g, ]4 w1 B
<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>
. y. v; g* y6 V( B' K* y<>个字符或更少。 </P>
! y0 k2 _: z8 r3 V2 Q5 Y8 V' S" \: Q<>  </P>
$ }* w0 @6 Z! G, H) G, q<>  2.改变DBGrid的显示字段及日期显示格式 </P>
6 a: \9 e- K! W<>  </P>
4 z" M- e9 Y5 j9 J% @9 G' Y<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>% i8 e( o) H! t! w' K
<>  </P>2 B! l! h- j; q5 G
<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>) I+ a$ k4 Y- |, _) S9 P
<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>- I  k% z& D/ i! e5 z3 m
<>  </P>. D. k5 v/ h$ A/ A( W& U
<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>, J" i# I3 u4 r4 K% M, @
<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>
. r7 g% U/ b2 N<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>
; w7 C+ h2 e1 Z; ^<>1999-05-28格式显示。 </P>
  P; k/ t" N+ P/ w& ^<>  </P>  `) G3 e  y6 f7 S1 a
<>  二、Tquery控件 </P>
' T4 b8 L) [* `% ^# s, o<P>  </P>
( }5 V3 E4 j+ q<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>
# i1 [% i7 l: v9 ~5 h<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>
8 `# _$ h2 g$ J" V( t& c8 b, f$ }<P>  </P>
- m2 Z- |( V1 {2 u% o<P>  </P>
. A8 [2 m7 H. J<P>  Tquery的参数设置如下: </P>- f5 i! E6 h; X9 r& O, {' d% p7 a( t
<P>  </P>
# z8 c. T7 U3 d; `. |<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>/ n  n( i2 f1 X9 S! Q' _
<P>  </P>
) ?. y: A* D/ O<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>/ v) C% E+ n# e- a: U) c
<P>据类型等。 </P>3 z7 \! F6 r! r7 y1 G+ e
<P>  </P>
7 o) X: H9 x0 f6 O; p6 B<P>  (2)对变量的赋值: </P>
3 a0 ]6 M" e( l8 C% D8 u$ E+ x<P>  </P>
; h) s& m% [, O; h6 F& W<P>   Query1-〉Active=false; </P>
% H' m7 A7 l- U4 Y( K$ I7 X<P>  </P>0 X% {0 C: n# x7 U
<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>
. h; v0 x( g2 Z7 ]# W<P>  </P># T- S% y0 [" [
<P>   Query1-〉Active=true;//查找符合变量的记录 </P>6 Q8 j3 N: r- E4 z- ^% x
<P>  </P>
: `- Q: m# P* l+ C<P>  (3)用DBGrid显示结果 </P>
; M; k8 f* q+ O5 H; a; G! W9 m<P>  </P>7 v6 \6 j% o+ c1 z6 E0 g/ z0 N
<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>
' H3 k* {2 x% l6 Z. Y+ f1 {<P>Tquery1 连接。 </P>: B1 K6 c. [+ k# g
<P>  </P>
, T8 |* q7 A& U<P>  三、应用示例 </P>
% m0 \/ A5 K/ {# I% ~<P>  </P>
; s9 W  q  R7 E, I+ j<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>
) b- I5 n2 l5 Q' [<P>  </P>0 y# d% S$ Y, D6 ?6 m: \
<P>  用一个简单的代码来说明如何建立查询程序: </P>
- q$ u$ s9 P5 Q* i+ b* l% Z<P>  </P>% ?& N/ A( \4 M
<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>
3 x/ U' D; J4 Q0 e" A- u1 W0 v<P>DataSource,Query三个控件加入以下代码: </P>( @- X: p- r8 L4 h2 h1 l
<P>  </P>. p3 k$ E* A- [7 h5 F9 C0 x  a5 f
<P>  DBGrid1-〉DataSource=DataSource1; </P>2 I# d$ e. }" J% ~3 q' M; {2 y, `2 h
<P>  </P>
" d0 v- a, B: H<P>  DataSource1-〉DataSet=Tqery1; </P>" K* @* S8 N# W
<P>  </P>. J$ O( r. y, w1 Y
<P>  Query1-〉Close(); </P>/ n3 q0 e3 f# m6 Q2 m0 a8 ^4 g
<P>  </P>6 D9 P" g" S. ?" R8 R8 X
<P>  Query1-〉SQL-〉Clear(); </P>
1 w' F% b: U8 m& f7 f8 U<P>  </P>
0 |% W5 |, l* H2 g8 a& y<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>% a& T; g0 }+ y; _; N1 {" N3 M
<P>); </P>/ Z  W, Y- r' G+ ]
<P>  </P>
( v5 m$ M3 A# `3 d9 C$ h3 E0 U  B7 w<P>  Query1-〉ExecSQL(); </P>$ ^7 k* \% _8 U8 s
<P>  </P>; b$ z2 |. A5 R
<P>  Query-〉Active=true; </P>
* J4 _0 s+ A* @) ~<P>  </P>
- w4 t, `9 x  c) N  E<P>  你就可以在生成的表格中看到所有名称为book1的记录。 </P>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5