五月开心播播网_国内精品伊人久久久久影院对白_亚洲精品高清视频_国产精品激情_68精品久久久久久欧美_四虎免费av_97精品在线视频_欧美知名女优

您的位置:首頁技術(shù)文章
文章詳情頁

Delphi中的Access技巧集

瀏覽:2225日期:2023-11-30 10:39:19

1.DELPHI中操作ACCESS數(shù)據(jù)庫(建立.mdb文件,壓縮數(shù)據(jù)庫) 以下代碼在WIN2K,D6,MDAC2.6下測試通過, 編譯好的程序在WIN98第二版無ACCESS環(huán)境下運行成功.

//在之前uses ComObj,ActiveX //聲明連接字符串 Const SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;' +'Jet OLEDB:Database Password=%s;';

//============================================================================= // Procedure: GetTempPathFileName // Author : ysai // Date : 2003-01-27 // Arguments: (None) // Result : string //============================================================================= function GetTempPathFileName():string; //取得臨時文件名 var SPath,Sfile&:array [0..254] of char; begin GetTempPath(254,SPath); GetTempFileName(SPath,'~SM',0,SFile); result:=SFile; DeleteFile(PChar(result)); end;

//============================================================================= // Procedure: CreateAccessFile // Author : ysai // Date : 2003-01-27 // Arguments: FileName:String;PassWord:string='' // Result : boolean //============================================================================= function CreateAccessFile(FileName:String;PassWord:string=''):boolean; //建立Access文件,如果文件存在則失敗 var STempFileName:string; vCatalog:OleVariant; begin STempFileName:=GetTempPathFileName; try vCatalog:=CreateOleObject('ADOX.Catalog'); vCatalog.Create(format(SConnectionString,[STempFileName,PassWord])); result:=CopyFile(PChar(STempFileName),PChar(FileName),True); DeleteFile(STempFileName); except result:=false; end; end;

//============================================================================= // Procedure: CompactDatabase // Author : ysai // Date : 2003-01-27 // Arguments: AFileName,APassWord:string // Result : boolean //============================================================================= function CompactDatabase(AFileName,APassWord:string):boolean; //壓縮與修復(fù)數(shù)據(jù)庫,覆蓋源文件 var STempFileName:string; vJE:OleVariant; begin STempFileName:=GetTempPathFileName; try vJE:=CreateOleObject('JRO.JetEngine'); vJE.CompactDatabase(format(SConnectionString,[AFileName,APassWord]), format(SConnectionString,[STempFileName,APassWord])); result:=CopyFile(PChar(STempFileName),PChar(AFileName),false); DeleteFile(STempFileName); except result:=false; end; end;

//============================================================================= // Procedure: ChangeDatabasePassword // Author : ysai // Date : 2003-01-27 // Arguments: AFileName,AOldPassWord,ANewPassWord:string // Result : boolean //============================================================================= function ChangeDatabasePassword(AFileName,AOldPassWord,ANewPassWord:string):boolean; //修改ACCESS數(shù)據(jù)庫密碼 var STempFileName:string; vJE:OleVariant; begin STempFileName:=GetTempPathFileName; try vJE:=CreateOleObject('JRO.JetEngine'); vJE.CompactDatabase(format(SConnectionString,[AFileName,AOldPassWord]), format(SConnectionString,[STempFileName,ANewPassWord])); result:=CopyFile(PChar(STempFileName),PChar(AFileName),false); DeleteFile(STempFileName); except result:=false; end; end;

2.ACCESS中使用SQL語句應(yīng)注意的地方及幾點技巧 以下SQL語句在ACCESS XP的查詢中測試通過 建表: Create Table Tab1 ( ID Counter, Name string, Age integer, [Date] DateTime); 技巧: 自增字段用 Counter 聲明. 字段名為關(guān)鍵字的字段用方括號[]括起來,數(shù)字作為字段名也可行.建立索引: 下面的語句在Tab1的Date列上建立可重復(fù)索引 Create Index iDate ON Tab1 ([Date]); 完成后ACCESS中字段Date索引屬性顯示為 - 有(有重復(fù)). 下面的語句在Tab1的Name列上建立不可重復(fù)索引 Create Unique Index iName ON Tab1 (Name); 完成后ACCESS中字段Name索引屬性顯示為 - 有(無重復(fù)). 下面的語句刪除剛才建立的兩個索引 Drop Index iDate ON Tab1; Drop Index iName ON Tab1; ACCESS與SQLSERVER中的UPDATE語句對比: SQLSERVER中更新多表的UPDATE語句:

UPDATE Tab1 SET a.Name = b.Name FROM Tab1 a,Tab2 b WHERE a.ID = b.ID;

同樣功能的SQL語句在ACCESS中應(yīng)該是

UPDATE Tab1 a,Tab2 b SET a.Name = b.Name WHERE a.ID = b.ID;

即:ACCESS中的UPDATE語句沒有FROM子句,所有引用的表都列在UPDATE關(guān)鍵字后. 上例中如果Tab2可以不是一個表,而是一個查詢,例: UPDATE Tab1 a,(Select ID,Name From Tab2) b SET a.Name = b.Name WHERE a.ID = b.ID;

訪問多個不同的ACCESS數(shù)據(jù)庫-在SQL中使用In子句: Select a.*,b.* From Tab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID; 上面的SQL語句查詢出當(dāng)前數(shù)據(jù)庫中Tab1和db2.mdb(當(dāng)前文件夾中)中Tab2以ID為關(guān)聯(lián)的所有記錄. 缺點-外部數(shù)據(jù)庫不能帶密碼. 補(bǔ)充:看到ugvanxk在一貼中的答復(fù),可以用 Select * from [c:aaa.mdb;pwd=1111].table1; ACCESS XP測試通過

在ACCESS中訪問其它ODBC數(shù)據(jù)源 下例在ACCESS中查詢SQLSERVER中的數(shù)據(jù)

SELECT * FROM Tab1 IN [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]

外部數(shù)據(jù)源連接屬性的完整參數(shù)是:

[ODBC;DRIVER=driver;SERVER=server;DATABASE=database;UID=user;PWD=password;]

其中的DRIVER=driver可以在注冊表中的 HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI 中找到 異構(gòu)數(shù)據(jù)庫之間導(dǎo)數(shù)據(jù)參見 碧血劍;

ACCESS支持子查詢

ACCESS支持外連接,但不包括完整外部聯(lián)接,如支持 LEFT JOIN 或 RIGHT JOIN 但不支持 FULL OUTER JOIN 或 FULL JOIN

ACCESS中的日期查詢 注意:ACCESS中的日期時間分隔符是#而不是引號 Select * From Tab1 Where [Date]>#2002-1-1#; 在DELPHI中我這樣用 SQL.Add(Format( 'Select * From Tab1 Where [Date]>#%s#;', [DateToStr(Date)]));

ACCESS中的字符串可以用雙引號分隔,但SQLSERVER不認(rèn),所以為了遷移方便和兼容, 建議用單引號作為字符串分隔符.;

XP的查詢中測試通過 建表: Create Table Tab1 ( ID Counter, Name string, Age integer, [Date] DateTime); 技巧: 自增字段用 Counter 聲明. 字段名為關(guān)鍵字的字段用方括號[]括起來,數(shù)字作為字段名也可行.建立索引: 下面的語句在Tab1的Date列上建立可重復(fù)索引 Create Index iDate ON Tab1 ([Date]); 完成后ACCESS中字段Date索引屬性顯示為 - 有(有重復(fù)). 下面的語句在Tab1的Name列上建立不可重復(fù)索引 Create Unique Index iName ON Tab1 (Name); 完成后ACCESS中字段Name索引屬性顯示為 - 有(無重復(fù)). 下面的語句刪除剛才建立的兩個索引 Drop Index iDate ON Tab1; Drop Index iName ON Tab1; ACCESS與SQLSERVER中的UPDATE語句對比: SQLSERVER中更新多表的UPDATE語句:

UPDATE Tab1 SET a.Name = b.Name F

標(biāo)簽: Access 數(shù)據(jù)庫
相關(guān)文章:
亚洲精品国产精品乱码在线观看| 欧美男人天堂| 七七成人影院| 国精品产品一区| 国产亚洲精品美女久久久久久久久久| 国产精品久久久久久麻豆一区软件| 99精品国产99久久久久久福利| 捆绑紧缚一区二区三区视频| aaa亚洲精品| 动漫精品一区二区| 欧美成人a∨高清免费观看| 久久精品国产视频| 亚洲最大成人网色| 黄页免费在线观看视频| 能看毛片的网站| 日本五十路女优| 男女一区二区三区免费| 被下部羞羞漫画| 第四色日韩影片| 精品在线手机视频| 国产在线精品一区二区不卡了| 日韩美女啊v在线免费观看| 日韩一区二区不卡| 欧美亚洲在线视频| 中文字幕中文字幕99| 国产精品91av| 国产性生活视频| 天堂网在线观看| 日本蜜桃在线观看| 欧洲亚洲一区二区三区| 狠狠色狠狠色综合系列| 黑丝美女久久久| 久久亚洲精品小早川怜子66| 成人免费在线网址| 亚洲人成色77777| 久久久久亚洲av片无码下载蜜桃| 亚洲欧洲精品视频| 性网站在线播放| 51亚洲精品| 国精品**一区二区三区在线蜜桃| 亚洲国产精品视频| 久久亚洲影音av资源网| 日韩性感在线| 第一次破处视频| 青青在线观看视频中文字| 久蕉在线视频| 蜜臀久久99精品久久一区二区| 国产精品123区| 日韩欧美在线综合网| 91性高湖久久久久久久久_久久99| 91黄色小网站| 中文字幕第四页| www.日本视频| 国产精品久久久久久av公交车 | 久久一区二区三区四区| 欧美精品一区视频| 精品国产一区二区三区免费 | 国产成人福利| 一根才成人网| 看电视剧不卡顿的网站| 欧美日韩国产大片| 国产不卡一区二区在线观看| a在线播放不卡| 精品国产伦一区二区三区观看方式| 国产一区二中文字幕在线看| 少妇黄色一级片| 97人妻一区二区精品免费视频 | 午夜国产精品视频| 一区二区三区精品久久久| 久久久久久久999精品视频| 欧美一级视频免费看| 无码人妻精品一区二| 影音先锋可以看的网站| 欧美日韩国产高清电影| 亚洲精品写真福利| 日本成熟性欧美| 成年人看片网站| 欧美野外性xxxxfeexxxx| 亚洲天堂资源| www.性欧美| 欧美激情精品久久久久久免费印度| 日本wwwcom| www.激情五月.com| 免费在线看电影| 国产麻豆精品在线观看| 亚洲美女精品成人在线视频| 国内精品国产三级国产99| 少妇无套内谢久久久久| 成人h小游戏| 快she精品国产999| 精品一区二区三区三区| 一级性生活视频| 99久久精品无免国产免费| 91网在线看| 成人国产免费视频| 国内久久久精品| 日本久久久久久久久久| 日日爱66.cn| 国产一区二区三区91| 欧美午夜片在线看| 一区二区三区在线视频看| 成人一级免费视频| av大大超碰在线| 成人av资源在线观看| 久久久久免费视频| 亚洲第一视频区| 开心丁香婷婷深爱五月| 亚洲成人三区| 精品国产在天天线2019| 黄色免费视频大全| 欧美另类黑人巨大videos| 成人爽a毛片免费啪啪红桃视频| 国产精品久久久久久| 欧美午夜一区二区| 亚洲区成人777777精品| 婷婷丁香一区二区三区| 伊人久久大香| 午夜久久久久久电影| 色就是色欧美| 日批免费在线观看| 伊人精品久久| 欧美日韩色一区| 黄色免费福利视频| 在线观看91| 欧美精品一线| 日韩中文字幕在线播放| 亚洲久久久久久| 在线免费观看黄色片| 青青青爽久久午夜综合久久午夜| 久久精品免费播放| 欧美黄色高清视频| www.91在线| 久久久久久久久蜜桃| 99re6热在线精品视频播放速度| 黄色片网站在线免费观看| 日产福利视频在线观看| 亚洲综合在线五月| 伊人狠狠色丁香综合尤物| 永久久久免费浮力影院| 青青一区二区三区| 亚洲天堂一区二区三区| 日本一区二区三区网站| 看电影就来5566av视频在线播放| 成人激情视频网站| 国产一区二区精品在线| 丰满人妻一区二区三区无码av| 91精品啪在线观看国产爱臀| 日韩午夜在线播放| 精品人妻一区二区三区日产| 在线看三级网站视频| 91香蕉视频mp4| 蜜桃av噜噜一区二区三区| 成人网6969conwww| 久久综合电影| 欧美久久精品午夜青青大伊人| 天堂av免费在线| 蜜桃麻豆av在线| 欧美亚一区二区| 自拍一级黄色片| 国模吧精品人体gogo| 国产精品国产自产拍高清av王其| 在线观看欧美一区| wwwxx在线观看| 亚洲97av| 中文字幕av一区中文字幕天堂| 久久久久久成人网| 日本а中文在线天堂| 欧美日韩中文精品| 俄罗斯女人裸体性做爰| 尤物视频在线免费观看| 一区二区三区中文字幕| 成人黄色一区二区| 青青久草在线| 一区二区三区不卡视频| 欧美精品色婷婷五月综合| 国产黄色影视| 中文字幕一区二区不卡| 精品国产免费av| 欧美成熟毛茸茸| 午夜精品久久久久久久| 日本美女久久久| 9999在线视频| 欧美成人女星排名| www成人啪啪18软件| 免费成人黄色网| 亚洲欧美激情视频| 日韩av大片在线观看| 亚洲人成亚洲精品| 欧美亚洲国产另类| 五月婷中文字幕| 美腿丝袜在线亚洲一区| 欧美精品二区三区四区免费看视频 | 欧美国产视频在线观看| 狠狠干狠狠插| 国产日产欧美一区二区三区| 精品国产免费av| 成人免费观看视频大全| 欧美一区二区日韩| 亚洲综合网在线| 亚洲免费毛片|