久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久

以文本方式查看主題

-  曙海教育集團論壇  (http://www.xinguifushi.cn/bbs/index.asp)
--  Delphi程序設計  (http://www.xinguifushi.cn/bbs/list.asp?boardid=76)
----  Delphi中的Access技巧集  (http://www.xinguifushi.cn/bbs/dispbbs.asp?boardid=76&id=2568)

--  作者:wangxinxin
--  發布時間:2010-12-14 11:02:52
--  Delphi中的Access技巧集

 
1.DELPHI中操作Access數據庫(建立.mdb文件,壓縮數據庫) IT我最牛-程序員的技術討論與分享園地Hff B&rj3u:Z
以下代碼在WIN2K,D6,MDAC2.6下測試通過, IT我最牛-程序員的技術討論與分享園地X8C\'V)z/Y*K0`O_
編譯好的程序在WIN98第二版無Access環境下運行成功.
G#i;k&yW1j0//在之前uses ComObj,ActiveX IT我最牛-程序員的技術討論與分享園地xA N/v8M5ax4_
//聲明連接字符串 IT我最牛-程序員的技術討論與分享園地 DVB2i~1G+T.V
Const IT我最牛-程序員的技術討論與分享園地0~FZRe*p~d []
SC IT我最牛-程序員的技術討論與分享園地z5C9Xz.seN+v
+\'Jet OLEDB:Database Password=%s;\';
$Uio\'L{ O e)I0

//============================================================================= IT我最牛-程序員的技術討論與分享園地2y|CDr0GV
// Procedure: GetTempPathFileName IT我最牛-程序員的技術討論與分享園地 OPB |XCAQ
// Author : ysai
lV#H0|GW0// Date : 2003-01-27
Wii3m xq7Z~PW0// Arguments: (None) IT我最牛-程序員的技術討論與分享園地I @\\?r.j\'pt
// Result : string IT我最牛-程序員的技術討論與分享園地&~kr(}\\i2MUh
//=============================================================================
f ? \\8o:[7_C0function GetTempPathFileName():string;
:Bnr%[2m9v0//取得臨時文件名 IT我最牛-程序員的技術討論與分享園地nU4w~S3f"\\9G
var
6?[vh|&_%S0SPath,Sfile&:array [0..254] of char;
DEmTKw`(H;KS0begin
%])xJ,V%N+eYN7M:P0GetTempPath(254,SPath);
^"^/L?!T&YAm:V#t!mP0GetTempFileName(SPath,\'~SM\',0,SFile); IT我最牛-程序員的技術討論與分享園地!P\\ b/AI"p D
result:=SFile;
:h/G"fY7z6k0DeleteFile(PChar(result));
G(WzO a1i [^z)b0end; www.iTbulo.com0sJZ0


G(WzO a1i [^z)b0end; www.iTbulo.com0sJZ0.n,M.yP B8U3g6~2f0

@+Y6Y |#^opfc\\^N.b:f0//=============================================================================
,g7b,O%^C0// Procedure: CreateAccessFile
)Y2y RWO.c0// Author : ysai IT我最牛-程序員的技術討論與分享園地1ZRS6H;R!O
// Date : 2003-01-27
1lLR7?5Fdfm#E]0// Arguments: FileName:String;Password:string=\'\' IT我最牛-程序員的技術討論與分享園地#l5V0y6d1]y[_PI
// Result : boolean IT我最牛-程序員的技術討論與分享園地%qW/e1Rg3b
//=============================================================================
m8CU3E8xa(_0pj0function CreateAccessFile(FileName:String;Password:string=\'\'):boolean;
-b,mD4x9T MTa/R0//建立Access文件,如果文件存在則失敗
.\\b)?!MIO0var
yy/ET x0STempFileName:string;
rPd:k@$l:g\'k[1f\'D0vCatalog:OleVariant; IT我最牛-程序員的技術討論與分享園地w _N#^RJ)u-f k
begin
LtD3y@"{ j&`*T q0STempFileName:=GetTempPathFileName;
X&P7vn%Yb%e J&t0try
pk`7O#txMPQ&C0vCatalog:=CreateOleObject(\'ADOX.Catalog\'); IT我最牛-程序員的技術討論與分享園地)[)V$jo3m5Qa xL
vCatalog.Create(format(SConnectionString,[STempFileName,Password])); IT我最牛-程序員的技術討論與分享園地 O8A IXYZ.}$l0A~3v6b
result:=CopyFile(PChar(STempFileName),PChar(FileName),True); IT我最牛-程序員的技術討論與分享園地8D i V&B%H-wb{}3G@
DeleteFile(STempFileName); IT我最牛-程序員的技術討論與分享園地E8z%QM)x8O7O
except IT我最牛-程序員的技術討論與分享園地X"I^Kprjy E\\
result:=false;
1F^W _ez0end;
S&N!]L+t^0end; www.iTbulo.com0sJZ0IT我最牛-程序員的技術討論與分享園地|qq z*a7pTkv h

0cP3^6HE9ct;Vg$S0//============================================================================= IT我最牛-程序員的技術討論與分享園地6Ed+]0pui
// Procedure: CompactDatabase IT我最牛-程序員的技術討論與分享園地/J SK3q;Hh
// Author : ysai IT我最牛-程序員的技術討論與分享園地7e$y BT6d:QA b5d
// Date : 2003-01-27
[ov7A+P0ss0// Arguments: AFileName,APassword:string
P1W\'Xi|0// Result : boolean IT我最牛-程序員的技術討論與分享園地\'J,~5M!}g\\\'D PQ
//=============================================================================
s#r4[ u+J1b~0@!e0function CompactDatabase(AFileName,APassword:string):boolean;
~1VsUD0//壓縮與修復數據庫,覆蓋源文件
uN5e ?X0var IT我最牛-程序員的技術討論與分享園地l9GF(\\ ?:}AYf]
STempFileName:string; IT我最牛-程序員的技術討論與分享園地\'U:y@ v/m"V,R m@
vJE:OleVariant; IT我最牛-程序員的技術討論與分享園地_Af6qQ0C
begin
7] \\I/g)Z|[0STempFileName:=GetTempPathFileName; IT我最牛-程序員的技術討論與分享園地*m^)kf3O^
try
vB%T4p2Ak?a0vJE:=CreateOleObject(\'JRO.JetEngine\');
Nt)v%J(E e*~ qT8q/?*]0vJE.CompactDatabase(format(SConnectionString,[AFileName,APassword]), IT我最牛-程序員的技術討論與分享園地 h"xf AUx
format(SConnectionString,[STempFileName,APassword])); IT我最牛-程序員的技術討論與分享園地 |Vi)V ^-t7RC)|
result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
3[6j1T,gI0DeleteFile(STempFileName);
W0Jt9\\h$a9V.z ID:^.{0except IT我最牛-程序員的技術討論與分享園地 LS+j+mFn~9Ca/b m
result:=false; IT我最牛-程序員的技術討論與分享園地!l\\6iD(lv7}
end; IT我最牛-程序員的技術討論與分享園地"nRv"P m*KZ
end; www.iTbulo.com0sJZ0

o9mk*C.f*V5^(W1_/h0

\\G(q|#w0u.Xu0    //=============================================================================
ycSQ yE0// Procedure: ChangeDatabasePassword IT我最牛-程序員的技術討論與分享園地C ^f` l&G9|4|
// Author : ysai
,d6t+M.g3J7k^0// Date : 2003-01-27
1DG]JF II0// Arguments: AFileName,AOldPassword,ANewPassWord:string
$ni%]h9O8o@!mu{0// Result : boolean
PJ9p6k:M0//============================================================================= IT我最牛-程序員的技術討論與分享園地P6Lz9i[cF/R3H7W
function ChangeDatabasePassword(AFileName,AOldPassWord,ANewPassWord:string):boolean;
;`yy U(a\'DJ0//修改Access數據庫密碼
r]F(ay4l+k0var IT我最牛-程序員的技術討論與分享園地}%l#}.M)SA*A*v
STempFileName:string; IT我最牛-程序員的技術討論與分享園地Y^ |-S"ia
vJE:OleVariant; IT我最牛-程序員的技術討論與分享園地u&n? I,hb
begin
k7W(XYi9R0^Q_1s2@0STempFileName:=GetTempPathFileName;
3Mkm%e{7C`-A w&\\0try
5zhs,|m3Z [V9N0v2Q0vJE:=CreateOleObject(\'JRO.JetEngine\');
m&R+]/G/jf:z0gD0vJE.CompactDatabase(format(SConnectionString,[AFileName,AOldPassword]), IT我最牛-程序員的技術討論與分享園地zN C/MUIDx!G
format(SConnectionString,[STempFileName,ANewPassword]));
w6R"Q&dE%q[f@Y0result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
-v H$@ T!Z;v0DeleteFile(STempFileName); IT我最牛-程序員的技術討論與分享園地![W y,Gpq
except
i$x%AU2u_w mC0result:=false; IT我最牛-程序員的技術討論與分享園地C5PXr6bJIB]
end;
!p(A,l6]z^ej1t0end; www.iTbulo.com0sJZ0IT我最牛-程序員的技術討論與分享園地bi{1dt3@q

IT我最牛-程序員的技術討論與分享園地!F j3a,D,mz3I8J/d9I3J$S

2.Access中使用SQL語句應注意的地方及幾點技巧 IT我最牛-程序員的技術討論與分享園地`!Bd F8k.Ow0_;e
以下SQL語句在Access XP的查詢中測試通過 IT我最牛-程序員的技術討論與分享園地XR6p#X Dw:Y!pvYr n
建表:
?UCXzP7?R0Create Table Tab1 ( IT我最牛-程序員的技術討論與分享園地sv6j3UQ#\\0V
ID Counter, IT我最牛-程序員的技術討論與分享園地1c#@w)qxsj
Name string,
^wbV+WN^3a#P1l e0Age integer, IT我最牛-程序員的技術討論與分享園地m Vsqqoq
[Date] DateTime); IT我最牛-程序員的技術討論與分享園地7z4}1DaIp4^
技巧: IT我最牛-程序員的技術討論與分享園地lPQZJ9Zfv8@T
自增字段用 Counter 聲明.
M"YQ3zG,ccO O^0字段名為關鍵字的字段用方括號[]括起來,數字作為字段名也可行. www.iTbulo.com0sJZ0

Y{*OV` N0 IT我最牛-程序員的技術討論與分享園地1d6d+y6_*dr"l G

建立索引:
z\'w/YZT3lG D4Z0下面的語句在Tab1的Date列上建立可重復索引
W6M"X&d"m&}h0Create Index iDate ON Tab1 ([Date]); IT我最牛-程序員的技術討論與分享園地E6r-r,A#^ u:{
完成后Access中字段Date索引屬性顯示為 - 有(有重復).
Ll)@y(d0下面的語句在Tab1的Name列上建立不可重復索引 IT我最牛-程序員的技術討論與分享園地1NK!t:b7g^t
Create Unique Index iName ON Tab1 (Name); IT我最牛-程序員的技術討論與分享園地z^0{7Ft4|ZqbPV
完成后Access中字段Name索引屬性顯示為 - 有(無重復).
!R@0UDo` Q}o e0下面的語句刪除剛才建立的兩個索引 IT我最牛-程序員的技術討論與分享園地5d!Sg [r
Drop Index iDate ON Tab1;
W QuVU,_[wQ0Drop Index iName ON Tab1; www.iTbulo.com0sJZ0

%{T\'Htk-p9p(?.[0 IT我最牛-程序員的技術討論與分享園地)pK%{!v` |/QU$n

Access與SQLSERVER中的UPDATE語句對比: IT我最牛-程序員的技術討論與分享園地 oX `ZO\'vt
SQLSERVER中更新多表的UPDATE語句:
W(X?/N @_(Do$@I0UPDATE Tab1 IT我最牛-程序員的技術討論與分享園地#VU"k9p\\z$z
SET a.Name = b.Name
$X3jL1]8F H K0FROM Tab1 a,Tab2 b IT我最牛-程序員的技術討論與分享園地-roheo"rh#M};c
WHERE a.ID = b.ID;
d ?h9HEK0同樣功能的SQL語句在Access中應該是
$i.f9A*yz\'e0 UPDATE Tab1 a,Tab2 b IT我最牛-程序員的技術討論與分享園地 \\V d/~)z1X^\'v
SET a.Name = b.Name
An{S-t#F9p |S3xL0WHERE a.ID = b.ID; IT我最牛-程序員的技術討論與分享園地k"g |,z9V)TCx p j(}
即:Access中的UPDATE語句沒有FROM子句,所有引用的表都列在UPDATE關鍵字后. IT我最牛-程序員的技術討論與分享園地n7G:hxQ9sv1N
上例中如果Tab2可以不是一個表,而是一個查詢,例:
,Gzs9cE V4?1[ f0UPDATE Tab1 a,(Select ID,Name From Tab2) b
D3\\Jg3G[C0SET a.Name = b.Name IT我最牛-程序員的技術討論與分享園地;|;Li"rg)T d`
WHERE a.ID = b.ID;

a%m(r4Y#`0o&CK0www.iTbulo.com0sJZ0IT我最牛-程序員的技術討論與分享園地 }2|2J \\I

IT我最牛-程序員的技術討論與分享園地\'c1A9h bq2P!a$O

訪問多個不同的Access數據庫-在SQL中使用In子句: IT我最牛-程序員的技術討論與分享園地7it3Oq5g \\X D
Select a.*,b.* From Tab1 a,Tab2 b In \'DB2.mdb\' Where a.ID=b.ID;
)]tZ E!G)bYW;L%e C-c0上面的SQL語句查詢出當前數據庫中Tab1和DB2.mdb(當前文件夾中)中Tab2以ID為關聯的所有記錄. IT我最牛-程序員的技術討論與分享園地;]4CHA?V
缺點-外部數據庫不能帶密碼. IT我最牛-程序員的技術討論與分享園地K7m!YE[\'gQ^ YC,N
補充:看到ugvanxk在一貼中的答復,可以用 IT我最牛-程序員的技術討論與分享園地Y#_p?QY
Select * from [c:\\aa\\a.mdb;pwd=1111].table1; IT我最牛-程序員的技術討論與分享園地 i1t x8F xj5K7kOc


主站蜘蛛池模板: 成年人三级网站 | 偷拍亚洲欧美 | 精品国产精品a | 她也啪在线视频精品网站 | 国产成人区 | 国产日韩一区二区三区在线播放 | 欧美三级做爰视频 | 美国三级在线观看 | 在线精品视频免费观看 | 亚洲精品一区二区三区www | 综合欧美日韩一区二区三区 | 美女视频永久黄网站免费观看国产 | 欧美不卡一区 | 久久频这里精品香蕉久久 | 国产精品一区二区资源 | 毛片96视频免费观看 | 91精品一区二区三区在线观看 | 国产只有精品 | 韩国一级片视频 | 欧美成人高清 | 国产成人v视频在线观看 | 天天澡天天碰天天狠伊人五月 | 高清一本之道加勒比在线 | 毛片免费观看网址 | 91成人啪国产啪永久地址 | 九色porny真实丨国产18 | 日韩一级免费视频 | 日本一级高清片免费 | 99精品久久精品一区二区 | 免费看香港一级毛片 | 日本不卡高清免费 | 久久久久毛片成人精品 | 亚洲午夜久久久久影院 | 国产第三区 | 久久精品免费视频观看 | 久久精品国产欧美日韩99热 | 精品久久久久不卡无毒 | a一区二区三区视频 | 亚洲免费视频播放 | 夜色精品国产一区二区 | 亚洲人成网站观看在线播放 |