数学建模社区-数学中国

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

作者: 韩冰    时间: 2005-1-26 12:36
标题: 用C++Builder 建立数据库VCL使用经验
<>  </P>' D" a1 E/ w2 H' f8 Z1 P9 x& N) v* A" p
<>杨超 </P>
' v) Y7 b" G. S7 b<>  </P>% v4 Y( R- B. W8 t, @
<>  随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。 </P>
6 n8 d# z7 f* t" c$ c. q2 J<>C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不 </P>
; {/ q4 x, n5 p( U; I<>写一行程序就生成漂亮的数据库程序。 </P>
+ ^& @, p" Y# H7 N/ Q. F<>  </P>2 c7 G' P" K# Q
<>  下面对C++Builder中的几个数据库VCL的使用技巧做一下介绍: </P>
; O  u- d) m; x<>  </P>( K' ]6 \# I. m6 k, f0 p
<>  一、DBGrid控件 </P>
0 t( q- ~" N2 D) L<>  </P>
: }1 L! R# X2 ]" Q<>  1.设置DBGrid的字段显示宽度属性 </P>  q6 j) D) P) B3 Y
<>  </P>
- R) |" T% ?, N" y3 m* g<>  为了在DBGrid中建立较小的列,你必须建立一个显示标题,它等于或小于字 </P>
7 P6 w# L0 c* H/ ]0 Q3 v% N<>段值。例如,你希望建立一个只有三个字符宽的列,你的列标题显示必须只有三 </P>; b  W7 `7 N6 l% r0 s9 \
<>个字符或更少。 </P>2 |% d# G5 K. {0 g5 _' V& d$ d
<>  </P>
: Z8 F0 k0 q6 Y<>  2.改变DBGrid的显示字段及日期显示格式 </P>
4 t! A& {" A, B2 C# S<>  </P>
# Z9 J, }3 k7 e8 z! p0 _<>  (1)双击DBGrid对应的Table1,进入字段编辑器。 </P>8 S8 L+ g# S! U4 P( C
<>  </P>  B2 V" o# t9 v. C2 |  l
<>  (2)点右键出现选单选“Add Fields…" ,出现添加字段对话框,选择要添加 </P>
: Y& ]* Z0 K+ u! b1 C/ p0 K<>的字段(该字段将在运行时由DBGrid显示)然后点OK按钮。 </P>
5 j9 ^) M' J. {# N) x" R" m<>  </P>0 [& ^) g3 z0 t1 W# ]( J4 b
<>  (3)假设添加了“日期”字段,点该字段,在属性表中的:DisplayLabel中 </P>
7 @6 u# s- A. U% I<>填入你希望DBGrid显示的字段名。如果原来字段名是英文的,这里用中文名后 </P>3 f$ r* w: s0 v5 g
<>DBGrid将显示中文名。在DisplayFormat中填入:yyyy-mm-dd,以后日期将按 </P>
; {' U: l& n" d9 Z; [+ L<>1999-05-28格式显示。 </P>/ k# \: c( n/ O0 v7 A2 _; }
<>  </P>& i* p, F/ e8 z. L9 S! D
<>  二、Tquery控件 </P>
, [% k' G- k( E4 G) a<P>  </P>
; r( L- g- ?) ^9 v8 X<P>  Tquery 控件是数据库编程中非常重要的一个控件,它负责通过BDE与数据库 </P>( S. t9 ~" ~. X) q5 u, I
<P>建立联系,通过SQL语句方便的建立查询。Query必须建立相应的SQL才能生效。 </P>& ~( w( V  I) i; `
<P>  </P># e9 j2 i4 y: V. c- O% W
<P>  </P>
! J( k- \( T; g/ M; x" w! D<P>  Tquery的参数设置如下: </P>3 ^0 ]4 c2 Z3 _* w) N( f# C
<P>  </P>
  k) G( \6 K! Y/ t& z# m<P>  (1)在SQL属性中:Select * from 表名 where 字段名=:变量名 </P>& o5 V; Q+ r* |
<P>  </P>( n4 D: [/ X, t" f& r7 e
<P>  跟在“ : "后面的是变量。这样写后,在参数属性中就可以修改该变量的数 </P>0 u# }: V0 S3 A  U+ n* h4 Z4 e
<P>据类型等。 </P>
7 t/ g4 a+ o( F$ @2 n4 Q9 q<P>  </P>
+ A& ?* f8 z! I) z<P>  (2)对变量的赋值: </P>
: X( R2 P# f% K; p% n9 a<P>  </P>3 C6 K* v/ k( O' U
<P>   Query1-〉Active=false; </P>
: B+ [# e/ a/ V6 X& h<P>  </P>, M) z: Q- |6 [: B! @' r0 b( W$ D7 S
<P>   Query1-〉Params-〉Items[0]-〉AsString=Edit1-〉Text; </P>& [3 J, {% Q/ H/ t7 z
<P>  </P>7 Y+ b- E* n+ v. D' O
<P>   Query1-〉Active=true;//查找符合变量的记录 </P>
8 Y0 E$ T. q% i& U8 f5 @. N<P>  </P>
' G" C' h9 w( v5 U<P>  (3)用DBGrid显示结果 </P>
& e. C5 |5 o+ A% q<P>  </P>
6 q7 ^9 l% ^! y1 s0 J<P>  DBGrid的DataSource与DataSource1连接,而DataSource1的DataSet与 </P>% i9 a3 a- F, d# e2 G6 H
<P>Tquery1 连接。 </P>* F1 l8 ]1 v$ Y+ J$ H: R. ^
<P>  </P>
7 @9 E( j  F: Q$ {* ^) X4 L7 c9 a<P>  三、应用示例 </P>
' U8 Y" ]  a: H5 ^<P>  </P>
' E/ O2 V0 a& B) u1 ^% n! e<P>  通过Query控件嵌入SQL语句建立的查询比Table更简单、更高效。 </P>
" k% `) s8 l. i# S<P>  </P>
1 Z) p# _& W2 Z2 b& u<P>  用一个简单的代码来说明如何建立查询程序: </P>% v: ~: W2 }# A) {! g
<P>  </P>6 R. S8 u+ R& n: K" p7 u
<P>  例如,要建立一个检索表1中书名为book1的程序则在表单上放置DBGrid, </P>; s7 L( W- m# S. M9 G  n9 H
<P>DataSource,Query三个控件加入以下代码: </P>
' g2 L4 N" l! [; u7 n4 B) K2 K, N<P>  </P>
+ J1 W& h0 U9 {<P>  DBGrid1-〉DataSource=DataSource1; </P>$ J! X4 ~. _1 E5 |3 S. P
<P>  </P>
6 ]: [* a% ^5 r: g4 [% P<P>  DataSource1-〉DataSet=Tqery1; </P>0 u- N6 N8 H) Y5 e( M% D
<P>  </P>* V- T) ]  Y1 m3 q2 p
<P>  Query1-〉Close(); </P>  s5 \+ P1 M7 V1 C$ f; k
<P>  </P>1 L/ Q1 t# I4 @+ s7 j" k
<P>  Query1-〉SQL-〉Clear(); </P>
7 O) T1 X9 p8 F, Z! q1 z<P>  </P>) A( G9 p7 F2 G/ s  Z6 G
<P>  Query1-〉SQL-〉Add(″Select * From 表 Where (书名=′book1′ ″ </P>
2 m0 p/ _% y! N1 i<P>); </P>9 Z0 D3 i& g2 l; {# W6 S! P! p
<P>  </P>
7 |6 ]1 R( z: F$ d( j<P>  Query1-〉ExecSQL(); </P>
- e8 l/ _9 h/ Y; C# [<P>  </P>
# l, G4 d5 p" M' W& o, m! ^1 G<P>  Query-〉Active=true; </P>
; x% T& @5 `0 Q) C$ C<P>  </P>
1 R# b! b# {, Z+ @<P>  你就可以在生成的表格中看到所有名称为book1的记录。 </P>




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