在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

Delphi中的Access技巧集

Delphi中的Access技巧集

更新時間:2025-10-20 文章作者:未知 信息來源:網絡 閱讀次數:

數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應...
數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。
1.DELPHI中操作ACCESS數據庫(建立.mdb文件,壓縮數據庫) 
以下代碼在WIN2K,D6,MDAC2.6下測試通過, 
編譯好的程序在WIN98第二版無ACCESS環境下運行成功.

//在之前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;
//壓縮與修復數據庫,覆蓋源文件
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數據庫密碼
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語句應注意的地方及幾點技巧
以下SQL語句在ACCESS XP的查詢中測試通過
建表:
Create Table Tab1 (
ID Counter,
Name string,
Age integer,
[Date] DateTime);
技巧:
自增字段用 Counter 聲明.
字段名為關鍵字的字段用方括號[]括起來,數字作為字段名也可行.

建立索引:
下面的語句在Tab1的Date列上建立可重復索引
Create Index iDate ON Tab1 ([Date]);
完成后ACCESS中字段Date索引屬性顯示為 - 有(有重復).
下面的語句在Tab1的Name列上建立不可重復索引
Create Unique Index iName ON Tab1 (Name);
完成后ACCESS中字段Name索引屬性顯示為 - 有(無重復).
下面的語句刪除剛才建立的兩個索引
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中應該是
UPDATE Tab1 a,Tab2 b
SET a.Name = b.Name
WHERE a.ID = b.ID;
即:ACCESS中的UPDATE語句沒有FROM子句,所有引用的表都列在UPDATE關鍵字后.
上例中如果Tab2可以不是一個表,而是一個查詢,例:
UPDATE Tab1 a,(Select ID,Name From Tab2) b
SET a.Name = b.Name
WHERE a.ID = b.ID;

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

在ACCESS中訪問其它ODBC數據源
下例在ACCESS中查詢SQLSERVER中的數據

SELECT * FROM Tab1 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
外部數據源連接屬性的完整參數是:
[ODBC;DRIVER=driver;SERVER=server;DATABASE=database;UID=user;PWD=password;]

其中的DRIVER=driver可以在注冊表中的
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\
中找到
異構數據庫之間導數據參見 碧血劍 

ACCESS支持子查詢

ACCESS支持外連接,但不包括完整外部聯接,如支持
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不認,所以為了遷移方便和兼容, 建議用單引號作為字符串分隔符.



全新的路由器不僅讓你更穩定快速地連接無線網絡,更可以讓家中的智能設備連接在一起。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 亚洲理论中文字幕| 性做爰过程免费播放| 免费看污污视频| a在线观看免费视频| 37pao成人国产永久免费视频| 国产精品一二三在线观看| 制服丝袜中文字幕第一页 | 久久亚洲中文字幕无码| 肉大捧一出免费观看网站在线播放| 激情 小说 亚洲 图片: 伦| 韩国日本美国免费毛片| 一本久道综合色婷婷五月| 精品少妇无遮挡毛片| 99热一区二区| a级黄色片网站| 免费的av在线| 精品国产一区三区| 欧美激情成人网| 中文字幕 欧美日韩| 黄色污污在线观看| 黄色大片在线免费看| 国产中文字幕在线免费观看| 欧美日韩亚洲一| 91丨九色丨蝌蚪| 无码人妻精品一区二区蜜桃百度| 日韩精品在线观看av| 男女av免费观看| 中文字幕成人免费视频| 看全色黄大色大片| 久久久久人妻精品一区三寸| 日韩av片网站| 日本五级黄色片| www.超碰com| 国产青草视频在线观看| 国模吧无码一区二区三区| 日本久久精品一区二区| 欧美日韩午夜爽爽| 国产三区在线视频| 国产福利片一区二区| 欧美污视频网站| 三级在线免费观看| 亚洲不卡视频在线| 国产精品视频二| 中文字幕第三区| 青青在线视频免费| 成人国产一区二区三区| 91日韩视频在线观看| 欧美一区二区激情| 91aaa精品| jizz欧美激情18| 久久精品免费一区二区| 国产又粗又长又爽视频| 污污视频网站在线| 男人的天堂99| 男人c女人视频| 中国一级大黄大黄大色毛片| 国产乱码一区二区三区四区| 黑人糟蹋人妻hd中文字幕| 8x8x华人在线| 警花观音坐莲激情销魂小说| 日韩欧美亚洲另类| 欧美三级午夜理伦三级富婆| 狠狠操精品视频| 国产a视频免费观看| 国产精品97在线| 国产av无码专区亚洲精品| 伊人网在线免费| 国产免费裸体视频| 欧美中日韩在线| 亚洲美免无码中文字幕在线| 男人添女荫道口喷水视频| 国产欧美123| 青草视频在线观看视频| 性一交一乱一伧国产女士spa| 一级黄色录像免费看| 天天爱天天做天天操| www.99riav| 日本一区午夜艳熟免费| 欧美三级在线观看视频| 欧美 国产 综合| chinese少妇国语对白| 男女男精品视频站| 日韩精品在线播放视频| 99国产精品白浆在线观看免费| 欧美三级午夜理伦三级老人| 国内少妇毛片视频| 黄页免费在线观看视频| 88av.com| 强伦女教师2:伦理在线观看| 日韩欧美一级在线| 欧美老熟妇喷水| 久久人人爽av| 台湾无码一区二区| 漂亮人妻被中出中文字幕| 日本xxxx黄色| 丁香六月激情网| 一区二区三区网址| 日本一本中文字幕| 久久久久久久久久久久久久久国产| 在线观看中文av| 爱福利视频一区二区| 亚洲色图欧美自拍| av网站在线观看不卡| 国产精品12p| 91看片在线免费观看| av 日韩 人妻 黑人 综合 无码| 国产无套内射久久久国产| 天天做天天干天天操| 久久久亚洲国产精品| 一起操在线视频| 毛片在线视频播放| 熟妇熟女乱妇乱女网站| youjizzxxxx18| 精品视频免费在线播放| 999久久久精品视频| 乱妇乱女熟妇熟女网站| 国产av不卡一区二区| 国产三级国产精品国产专区50| 日韩精品一区二区免费| 艳母动漫在线观看| 日韩精品你懂的| 久久久久久久少妇| 欧美黄色一级片视频| 人体内射精一区二区三区| 国产精品久久成人免费观看| 五月天婷婷影视| 三级av免费观看| 手机免费av片| 手机在线成人免费视频| 国产天堂在线播放| 波多野结衣作品集| 国产黄页在线观看| 国产精品333| 免费日韩视频在线观看| 久久久一本二本三本| 北条麻妃在线观看| 116极品美女午夜一级| 日韩精品一区二区三区不卡 | 亚洲欧美一区二区三区不卡| 国产无色aaa| 欧美性视频在线播放| 日本成人xxx| 国产青草视频在线观看| 日韩a级在线观看| 国产男女在线观看| 国产又大又黄又粗又爽| 亚洲精品怡红院| 亚洲精品综合在线观看| 中国黄色录像片| www.成年人视频| 免费日韩视频在线观看| 久久国产精品国产精品| 亚洲日本黄色片| 男人天堂手机在线视频| 岳毛多又紧做起爽| 中文字幕66页| 欧美日韩不卡在线视频| 免费午夜视频在线观看| 九九热精品国产| 男女日批视频在线观看| 日本精品一区二区三区四区| 九九精品久久久| 日本香蕉视频在线观看| 国产免费视频传媒| 国产三级中文字幕| 日本三级免费网站| 国内精品国产三级国产aⅴ久| cao在线观看| 三级黄色片免费看| 中国丰满人妻videoshd| 日韩欧美色视频| 激情五月亚洲色图| 青青草免费在线视频观看| 成人在线看视频| 免费看欧美一级片| 亚洲视频一二三四| 妞干网在线免费视频| 精品91一区二区三区| 午夜激情福利在线| 日韩av高清在线看片| 亚洲成人手机在线观看| 欧美色图另类小说| 久操手机在线视频| 亚洲视频一二三四| 久久精品免费网站| 国产精品一区二区免费在线观看| 久久久福利影院| 国产成人美女视频| 亚洲黄色av网址| av五月天在线| aⅴ在线免费观看| 欧美日韩黄色一级片| 日韩精品在线观看av| 在线观看免费黄色片| 亚洲一级片av| 欧美国产日韩另类| www,av在线| 99久久久无码国产精品性色戒| 日本免费色视频| 欧美aaa在线观看|