對(duì)于動(dòng)態(tài)數(shù)據(jù)源的配置_第1頁(yè)
對(duì)于動(dòng)態(tài)數(shù)據(jù)源的配置_第2頁(yè)
對(duì)于動(dòng)態(tài)數(shù)據(jù)源的配置_第3頁(yè)
對(duì)于動(dòng)態(tài)數(shù)據(jù)源的配置_第4頁(yè)
對(duì)于動(dòng)態(tài)數(shù)據(jù)源的配置_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、對(duì)于動(dòng)態(tài)數(shù)據(jù)源的配置,可以通過(guò)直接操作注冊(cè)表的方法,也可以通過(guò)API完成。相對(duì)來(lái)講API是首選,本篇將對(duì)上幾篇的整理過(guò)程中收集到的API的說(shuō)明及實(shí)例進(jìn)行整理。所列內(nèi)容都來(lái)自網(wǎng)絡(luò),并將在后面給出來(lái)源網(wǎng)址!函數(shù)說(shuō)明(SQLConfigDataSource   函數(shù)被用于動(dòng)態(tài)地添加、修改或刪除數(shù)據(jù)源,該函數(shù)使用下列關(guān)鍵字。   關(guān)鍵字描述CHARACTERSET:    對(duì)于Text驅(qū)動(dòng)程序,OEM或ANSI。    COLLATINGSEQUENCE:    

2、   字段排序的順序。當(dāng)使用dBASE驅(qū)動(dòng)程序時(shí),這個(gè)序列可以是: ASCII (缺省)或International.當(dāng)使用Paradox驅(qū)動(dòng)程序時(shí),這個(gè)序列可以是: ASCII (缺省),International,Swedish-Finnish,或Norwegian-Danish.這將設(shè)置與“設(shè)置”對(duì)話(huà)框的“排序順序”控件相同的選項(xiàng)。 COLNAMEHEADER:       對(duì)于Text驅(qū)動(dòng)程序,指出數(shù)據(jù)的第一個(gè)記錄是否將指定列名。其值為T(mén)RUE或FALSE。COMPACT_DB:

3、0;      對(duì)于Microsoft Access data compaction驅(qū)動(dòng)程序,在數(shù)據(jù)庫(kù)文件上執(zhí)行數(shù)據(jù)庫(kù)壓縮。有如下的格式:COMPACT_DB=<路徑名><可選排序順序><可選ENCRYPT關(guān)鍵字>.  CREATE_DB:       對(duì)于Microsoft Access驅(qū)動(dòng)程序,創(chuàng)建數(shù)據(jù)庫(kù)文件。有如下的格式:CREATE_DB=<路徑名><可選排序順序><可選ENCRYPT關(guān)鍵字&

4、gt;,在這里路徑名是一個(gè)Microsoft Access數(shù)據(jù)庫(kù)的完整路徑。如果路徑名指到現(xiàn)有數(shù)據(jù)庫(kù),則將返回錯(cuò)誤。排序順序如“添加數(shù)據(jù)庫(kù)”對(duì)話(huà)框中所設(shè)置,且在按下“Microsoft Access安裝”對(duì)話(huà)框的“創(chuàng)建”按鈕時(shí)顯示此對(duì)話(huà)框會(huì)。如果沒(méi)有指定排序順序,則使用General。當(dāng)使用CREATE_DB關(guān)鍵字時(shí),如果要?jiǎng)?chuàng)建的Microsoft Access數(shù)據(jù)庫(kù)的路徑名稱(chēng)包含一個(gè)或一個(gè)以上的空格,則必須將整個(gè)路徑名稱(chēng)用雙引號(hào)括起來(lái),如下列示例顯示:"C:PROGRAM FILESCOMMON FILESMyAccess.mdb""C:PROGRAM FILE

5、SAccess2.mdb" CREATE_DB=C:TEMPtest.mdb(不需要雙引號(hào))  CREATE_SYSDB:       對(duì)于Microsoft Access驅(qū)動(dòng)程序,創(chuàng)建系統(tǒng)數(shù)據(jù)庫(kù)文件。有如下的格式:CREATE_SYSDB=<路徑名>><可選排序順序>,在這里路徑名是一個(gè)Microsoft Access數(shù)據(jù)庫(kù)的完整路徑。如果路徑名指到現(xiàn)有數(shù)據(jù)庫(kù),則將返回錯(cuò)誤。排序順序如“添加數(shù)據(jù)庫(kù)”對(duì)話(huà)框中所設(shè)置,且在按下“Microsoft Access安裝”對(duì)話(huà)框的“創(chuàng)

6、建”按鈕時(shí)顯示此對(duì)話(huà)框會(huì)。如果沒(méi)有指定排序順序,則使用General。CREATE_V2DB:       對(duì)于Microsoft Access驅(qū)動(dòng)程序,創(chuàng)建與Microsoft Access 2.0兼容的數(shù)據(jù)庫(kù)文件。有如下的格式:CREATE_V2DB=<路徑名>><可選排序順序>,在這里路徑名是一個(gè)Microsoft Access數(shù)據(jù)庫(kù)的完整路徑。如果路徑名指到現(xiàn)有數(shù)據(jù)庫(kù),則將返回錯(cuò)誤。排序順序如“添加數(shù)據(jù)庫(kù)”對(duì)話(huà)框中所設(shè)置,且在按下“Microsoft Access安裝”對(duì)話(huà)框的“創(chuàng)建”按鈕時(shí)顯示此

7、對(duì)話(huà)框會(huì)。如果沒(méi)有指定排序順序,則使用General。當(dāng)使用CREATE_V2DB關(guān)鍵字時(shí),如果要?jiǎng)?chuàng)建的Microsoft Access數(shù)據(jù)庫(kù)的路徑名稱(chēng)包含一個(gè)或一個(gè)以上的空格,則必須用雙引號(hào)將整個(gè)路徑名稱(chēng)括起來(lái),如下列示例顯示:"C:PROGRAM FILESCOMMON FILESMyAccess.mdb""C:PROGRAM FILESAccess2.mdb"CREATE_V2DB=C:TEMPtest.mdb(不需要雙引號(hào))    DBQ    對(duì)于Microsoft Access或Pa

8、radox驅(qū)動(dòng)程序,數(shù)據(jù)庫(kù)文件的名稱(chēng)。對(duì)于Microsoft Excel驅(qū)動(dòng)程序,當(dāng)訪問(wèn)Microsoft Excel5.0、7.0或97的文件時(shí),工作簿文件的名稱(chēng)。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“數(shù)據(jù)庫(kù)”控件相同的選項(xiàng)。    DEFAULTDIR:       對(duì)于數(shù)據(jù)庫(kù)文件(Microsoft Access驅(qū)動(dòng)程序)或目錄 (dBASE,Microsoft Excel,Paradox,或Text驅(qū)動(dòng)程序)的路徑指定。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“選擇目錄”控件,或?qū)τ贛icrosoft Excel,“

9、設(shè)置”對(duì)話(huà)框的“選擇工作簿”控件相同的選項(xiàng)。  DELETED:       對(duì)于dBASE驅(qū)動(dòng)程序,指定被標(biāo)記為已刪除的行是否可以被檢索到或被放置。如果設(shè)置成1,則不顯示被刪除的行;如果設(shè)置成0,則把已刪除的行當(dāng)作未刪除的行。默認(rèn)值是不選定。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“顯示刪除列”控件相同的選項(xiàng)。DESCRIPTION:       數(shù)據(jù)源中數(shù)據(jù)的描述。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“描述”控件相同的選項(xiàng)。    DRIVE

10、R:       指向驅(qū)動(dòng)程序DLL的路徑說(shuō)明。   DRIVERID:       對(duì)于驅(qū)動(dòng)程序的整型標(biāo)識(shí)符。      25   (Microsoft Access)       21   (dBASE III)         277   (dBASE IV)     &#

11、160;   533   (dBASE 5.0)         534   (Microsoft Excel 3.0)         278   (Microsoft Excel 4.0)         22   (Microsoft Excel 5.0/7.0)         790   (Microsoft Excel 97)

12、         26   (Paradox 3.x)         282   (Paradox 4.x)         538   (Paradox 5.x)         27   (Text)    EXCLUSIVE:       

13、決定數(shù)據(jù)庫(kù)將以獨(dú)占方式(一次只有一個(gè)用戶(hù)訪問(wèn))或分享方式(一次有多個(gè)用戶(hù)訪問(wèn))打開(kāi)。可以是TRUE(獨(dú)占方式)或FALSE(分享方式)。(這不會(huì)應(yīng)用到Microsoft Excel或Text驅(qū)動(dòng)程序)。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“獨(dú)占方式”控件相同的選項(xiàng)。    EXTENSIONS:       列出在數(shù)據(jù)源上“文本文件”的文件名的文件擴(kuò)展名。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“文件類(lèi)型”控件相同的選項(xiàng)。   FIL:     

14、  文件類(lèi)型        MS Access for Microsoft Access         dBase III,dBase IV,or dBase 5         Excel 3.0,4.0,5.0,7.0,or 97 for Microsoft Excel        Paradox 3.x,4.x,or 5.x         Text.  F

15、ILETYPE:     對(duì)于Text驅(qū)動(dòng)程序(文本)的文件類(lèi)型。    FIRSTROWHASNAMES:      對(duì)于Microsoft Excel驅(qū)動(dòng)程序,指出范圍中第一行的單元格包含了表的列名 (1)還是沒(méi)有包含 (0)。  FORMAT:      對(duì)于Text驅(qū)動(dòng)程序,可以是FIXEDLENGTH、TABDELIMITED、CSVDELIMITED(用逗點(diǎn)分隔)或DELIMITED ()(用括號(hào)中指定的特殊字符分隔)。特殊

16、字符是長(zhǎng)度為1的字符,并且可以是字符、十進(jìn)制或十六進(jìn)制格式。  IMPLICITCOMMITSYNC    決定Microsoft Access驅(qū)動(dòng)程序是否將異步執(zhí)行內(nèi)部或隱含提交。最初將此值設(shè)置成“是”Microsoft Access驅(qū)動(dòng)程序?qū)⒌却峤灰瓿傻膬?nèi)部/隱含事務(wù)。不應(yīng)輕率更改此選項(xiàng)的值。有關(guān)此選項(xiàng)的更多信息,參見(jiàn)Microsoft Jet數(shù)據(jù)庫(kù)引擎程序員指南。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的ImplicitCommitSync控件相同的選項(xiàng)。  MAXBUFFERSIZE:     

17、Microsoft Access用來(lái)與磁盤(pán)傳送數(shù)據(jù)的內(nèi)部緩沖區(qū)大小,以KB為單位。缺省緩沖區(qū)大小是512K(顯示為512)。可用任何被256整除的整型值。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“緩沖區(qū)大小”控件相同的選項(xiàng)。     MAXSCANROWS 對(duì)于Microsoft Access、Microsoft Excel或Text驅(qū)動(dòng)程序,在根據(jù)現(xiàn)有數(shù)據(jù)來(lái)設(shè)置列的數(shù)據(jù)類(lèi)型時(shí),所掃描的行數(shù)??梢暂斎胗?到16的數(shù)字作為掃描的行數(shù)。默認(rèn)值為8;如果將它設(shè)置成0,則掃描全部行。(越界的數(shù)字將返回錯(cuò)誤)。對(duì)于Text驅(qū)動(dòng)程序,可輸入由1到32767的數(shù)字為掃描的行數(shù);不過(guò),默認(rèn)值

18、總是25。(越界的數(shù)字將返回錯(cuò)誤)。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“掃描”控件相同的選項(xiàng)。   PAGETIMEOUT    指定一頁(yè)(如果不使用)在刪除之前保持在緩沖區(qū)中的時(shí)間的長(zhǎng)短,以十分之一秒為單位。對(duì)于Microsoft Access驅(qū)動(dòng)程序,默認(rèn)值是5個(gè)十分之一秒(0.5秒)。對(duì)于dBASE和Paradox驅(qū)動(dòng)程序,缺省值是1秒的600/10 (60秒).注意,此選項(xiàng)應(yīng)用于所有使用ODBC驅(qū)動(dòng)程序的數(shù)據(jù)源。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“頁(yè)超時(shí)”控件相同的選項(xiàng)。PARADOXNETPATH:    

19、  對(duì)于Paradox驅(qū)動(dòng)程序,包含Paradox鎖定數(shù)據(jù)庫(kù)的目錄的完整路徑,因?yàn)樗琍DOXUSRS.net文件 (Paradox 4.x)或PARADOX.net文件 (Paradox 5.x)。如果其中一個(gè)文件未包含在目錄中,Paradox驅(qū)動(dòng)程序?qū)?chuàng)建一個(gè)。關(guān)于這些文件的詳細(xì)信息,請(qǐng)參閱Paradox文檔。在可以選定網(wǎng)絡(luò)目錄之前,必須輸入Paradox用戶(hù)名稱(chēng)。這就設(shè)置了與Paradox“設(shè)置”對(duì)話(huà)框的“選定網(wǎng)絡(luò)目錄”控件相同的選項(xiàng)。    PARADOXNETSTYLE    對(duì)于Paradox驅(qū)動(dòng)程序,當(dāng)存取P

20、aradox數(shù)據(jù)時(shí)使用的網(wǎng)絡(luò)存取方式是:對(duì)于Paradox 3.x用“3.x”或?qū)τ赑aradox 4.x或5.x 用“4.x”。如果版本是Paradox 4.x或5.x,可以設(shè)置成“3.x”或“4.x”;如果版本是Paradox 3.x,樣式必須是“3.x”。這就設(shè)置了與Paradox“設(shè)置”對(duì)話(huà)框的“網(wǎng)絡(luò)樣式”控件相同的選項(xiàng)。    PARADOXUSERNAME:       對(duì)于Paradox驅(qū)動(dòng)程序,Paradox用戶(hù)名稱(chēng)。這就設(shè)置了與Paradox“設(shè)置”對(duì)話(huà)框的“用戶(hù)名稱(chēng)”控件相同的選項(xiàng)。&

21、#160;PWD:      對(duì)于Microsoft Access或Paradox驅(qū)動(dòng)程序,密碼。對(duì)于Paradox驅(qū)動(dòng)程序,這是可選的關(guān)鍵字,而且驅(qū)動(dòng)程序不會(huì)將它寫(xiě)到文件中。用它調(diào)用SQLDriverConnect,與有密碼安全的Paradox文件相對(duì)。  READONLY:       TRUE使文件為只讀;FALSE使文件不是只讀。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“只讀”控件相同的選項(xiàng)。    REPAIR_DB:  

22、60;    對(duì)于Microsoft Access repairs a database驅(qū)動(dòng)程序,在提交進(jìn)程期間失敗而損害的數(shù)據(jù)庫(kù)修復(fù)。  STATISTICS:       對(duì)于dBASE驅(qū)動(dòng)程序,確定表大小統(tǒng)計(jì)是否是近似的。注意,此選項(xiàng)應(yīng)用于所有使用ODBC驅(qū)動(dòng)程序的數(shù)據(jù)源。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“近似(行)計(jì)數(shù)”控件相同的選項(xiàng)。   SYSTEMDB:      對(duì)于Microsoft Access驅(qū)動(dòng)程

23、序,指向系統(tǒng)數(shù)據(jù)庫(kù)文件的路徑規(guī)范。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“系統(tǒng)信息庫(kù)”控件相同的選項(xiàng)。THREADS:      使用引擎的背景線(xiàn)程數(shù)。對(duì)于Microsoft Access驅(qū)動(dòng)程序,默認(rèn)值為3,但可以更改。對(duì)于dBASE,Microsoft Excel,Paradox,和Text驅(qū)動(dòng)程序,這個(gè)值是3,并且不能被改變。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的“線(xiàn)程”控件相同的選項(xiàng)。   UID:       對(duì)于Microsoft Access驅(qū)動(dòng)程序,用于登錄的用戶(hù)ID名

24、稱(chēng)。    USERCOMMITSYNC:       決定Microsoft Access驅(qū)動(dòng)程序是否將異步執(zhí)行用戶(hù)定義的事務(wù)。最初將此值設(shè)置成 “Yes”,表示Microsoft Access驅(qū)動(dòng)程序?qū)⒌却峤灰淹瓿傻挠脩?hù)定義的事務(wù)。不應(yīng)輕率更改此選項(xiàng)的值。有關(guān)此選項(xiàng)的更多信息,參見(jiàn)Microsoft Jet數(shù)據(jù)庫(kù)引擎程序員指南。這就設(shè)置了與“設(shè)置”對(duì)話(huà)框的UserCommitSync控件相同的選項(xiàng)。函數(shù)原型:SQLConfigDataSource(hwndParent: Integer; fRequ

25、est: Integer;lpszDriverString: String; lpszAttributes: String): Integer;調(diào)用時(shí)的聲明:function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external ODBCCP32.DLL;一, Access創(chuàng)建語(yǔ)法, if(SQLConfigDataSource(m_pMainWnd->m_hWnd,ODBC

26、_ADD_DSN,"Microsoft Access Driver (*.mdb)",   "DSN=Personnel0"   "DBQ=C:My Documentsdq.mdb0"   "DefaultDir=C:My Documents0"   "Driver=Microsoft Access Driver (*.mdb)0"   "

27、;DriverId=7900"   "Deleted=10"   "Description=兵營(yíng)房屋信息ODBC數(shù)據(jù)源0"   "FileType=Access0"   "JetIniPath=odbcddp.ini0"   "MaxScanRows=200"   "MaxBufferSize=51

28、2"   "ImplicitCommitSync=No0"   "UserCommitSync=No0"   "Exclusive=10"/獨(dú)占   "ReadOnly=10"/只讀   "UID=Smith0"   "SafeTransactions=00"  

29、60;"PWD=Sesame0"   "DATABASE=dq0"   "ExtendedAnsiSQL=10"   "Statistics=00"   "0")   AfxMessageBox("創(chuàng)建成功!");   else   AfxMessageBox(&quo

30、t;取消創(chuàng)建或創(chuàng)建失敗!");   二,SQL創(chuàng)建語(yǔ)法(SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,SQL Server,DSN=Record_ODBC+ chr(0) +Server=(local)+ chr(0) +Database=master+ chr(0) +Description=DragonPC SQLServer ODBC Source+ chr(0);DSN:你的ODBC數(shù)據(jù)源名稱(chēng)。Server:你的數(shù)據(jù)庫(kù)服務(wù)器名稱(chēng),使用(local)指的是本地計(jì)算機(jī)安裝的數(shù)據(jù)庫(kù)。注:最新的SQL Server 20

31、00支持一臺(tái)計(jì)算機(jī)運(yùn)行多個(gè)SQL Server服務(wù),這個(gè)時(shí)候你需要指定SqlSever的InstanceName。Address:指定SQL Server服務(wù)器的網(wǎng)絡(luò)IP地址。Database:指定默認(rèn)數(shù)據(jù)庫(kù)名稱(chēng)。Language:指定默認(rèn)語(yǔ)言。Description:備注信息。三,DBF創(chuàng)建語(yǔ)法(SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, Microsoft Visual FoxPro Driver + CHR(0), dsn=SourceTable + CHR(0) + BackgroundFetch=Yes + CHR(0) + Descriptio

32、n=descripcion de la conexion + CHR(0) + Exclusive=No + CHR(0) +sourcedbstr + CHR(0) +Sourcetype=DBF);四,MySQL創(chuàng)建語(yǔ)法及參數(shù)說(shuō)明(1、用Delphi連接MySQL數(shù)據(jù)庫(kù),一般推薦兩種方式:dbExpress,ODBC。dbExpress的效率較高,但對(duì)于本地客戶(hù)端數(shù)據(jù)集比較麻煩。ODBC非常通用,如果用ODBC作為數(shù)據(jù)庫(kù)訪問(wèn)層,后臺(tái)數(shù)據(jù)庫(kù)可以很容易切換,而代碼基本不用修改。我們假設(shè)用ODBC連接MySQL數(shù)據(jù)庫(kù),首先要下載MySQL的ODBC驅(qū)動(dòng),到MySQL的官方網(wǎng)站就可以下載,然后安裝即可。2、在程序中一般要根據(jù)用戶(hù)的配置自動(dòng)配置ODBC,而不是讓用戶(hù)打開(kāi)ODBC的配置窗口進(jìn)行手工配置。ODBC的配置信息一般寫(xiě)在注冊(cè)表中: HKEY_LOCAL_MACHINESOFTWAREODBCODBC.INIODBC Data Sources。我們可以通過(guò)寫(xiě)注冊(cè)表的方法來(lái)建立ODBC連接,但操作注冊(cè)表還算麻煩;為了簡(jiǎn)單,采用ODBC驅(qū)動(dòng)提供的配置API函數(shù):SQLConfigDataSource。首先在Delphi單元中導(dǎo)入SQLConfigDataSource的聲明:function SQLConfigDataSource(hwndParent

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論