六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP對(duì)FoxPro自由表(DBF文件)的設(shè)置

[摘要]一、問題的提出 最近一個(gè)項(xiàng)目中遇到ASP對(duì)FoxPro庫(kù)表(*.DBF)的操作問題。現(xiàn)實(shí)中確有許多應(yīng)用軟件使用DBF表,如何在網(wǎng)絡(luò)環(huán)境中使用這些數(shù)據(jù),使很多朋友一籌莫展。 本人也查了許多資料,沒有找到解決方法的詳細(xì)說明。經(jīng)過試驗(yàn),初步解決了這個(gè)問題,拿出來和大家分享。 本文試圖解...

一、問題的提出
    最近一個(gè)項(xiàng)目中遇到ASP對(duì)FoxPro庫(kù)表(*.DBF)的操作問題。現(xiàn)實(shí)中確有許多應(yīng)用軟件使用DBF表,如何在網(wǎng)絡(luò)環(huán)境中使用這些數(shù)據(jù),使很多朋友一籌莫展。
    本人也查了許多資料,沒有找到解決方法的詳細(xì)說明。經(jīng)過試驗(yàn),初步解決了這個(gè)問題,拿出來和大家分享。
    本文試圖解決以下問題:
    1. ASP聯(lián)接由FoxPro 生成的自由表(*.dbf文件)
    2. 將多種類型的數(shù)據(jù)及圖形文件同時(shí)存入dbf表中
    (示例程序可從http://www.netop.cc/downloads/dbf.rar得到)

二、環(huán)境
   Windows2000 + IIS5.0 + IE6.0(SP1)
   DBF文件為Microsoft Visual FoxPro 6.0 生成的自由表(非dbc庫(kù))

三、解決途徑
1. 連接
   DBF文件的ODBC驅(qū)動(dòng)程序名稱為 Microsoft Visual FoxPro Driver,在ASP中,通過Connection對(duì)象與其聯(lián)接,需要注意的是,聯(lián)接時(shí)將DBF所在目錄視為庫(kù)名。以下是具體聯(lián)接代碼:
  
   DIM conn,connstr,db
   db="data"
   Set conn = Server.CreateObject("ADODB.Connection")
   connstr = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;"&_
                 "SourceDB=" & Server.MapPath(db) &";Exclusive=No"
   conn.Open connstr

   以上代碼中,data為我的DBF文件所在的相對(duì)路徑(相對(duì)于此代碼所在的文件),通過Server.MapPath(db)將其轉(zhuǎn)為絕對(duì)路徑。
   http://www.connectionstrings.com 給出了很多類型的庫(kù)表文件的連接字串,其中對(duì)DBF文件,給出的連接字串為:
   "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath;"
   我用此連接字串沒有連接成功,沒有進(jìn)行進(jìn)一步測(cè)試,有興趣的朋友可以試一下以上字串。
   .www.knowsky.com
2. 在SQL語(yǔ)句中聲明表名
   可以用[表名]或[表名.擴(kuò)展名]的形式在SQL語(yǔ)句中聲明要操作的表名,如表文件名為t1.dbf,SQL語(yǔ)句為:
   select * from [t1]  或  select * from [t1.dbf]

3. 各種類型數(shù)據(jù)的入庫(kù)操作
   DBF支持的數(shù)據(jù)類型不是很多,其中值得注意是的Date(日期型)、Memo(備注型)、General(通用型)。在此著重說明一下Data型數(shù)據(jù),Memo及Gen型在存儲(chǔ)圖形文件時(shí)用到,稍后說明。
   我一般采用兩種方式進(jìn)行寫庫(kù)操作,一種是使用insert語(yǔ)句,一種是使用addnew方法,對(duì)于DBF表,這兩種方式略有差別。
   使用insert語(yǔ)句時(shí),要注意Date型數(shù)據(jù)的書寫格式為{^yyyy-mm-dd},分界符不同于Access的#及SQL Server的'。具體SQL語(yǔ)句為:
   insert into [t1.dbf] (name,birthday) values ('MyName',{^1970-1-1})
   在使用addnew方法時(shí),我原先使用的代碼為:

   rst.open "[t1]",conn,0,3
   rst.addnew
   rst(0).value = "MyName"
   rst(1).value = {^1970-1-1}
   rst.update
   rst.close
  
   在對(duì)SQL Server及Access操作時(shí)都沒有問題,但是對(duì)DBF文件操作時(shí)出現(xiàn)了問題。經(jīng)過試驗(yàn),終于找到了正確的方法:
  
   sql = "select * from t1"
   rst.open sql,conn,0,3
   rst.addnew
   rst(0).value = "MyName"
   rst(1).value = {^1970-1-1}
   rst.update
   rst.close

   請(qǐng)注意以上兩段代碼的差別,主要在SQL語(yǔ)句上。前面說過,在SQL語(yǔ)句中,可以用[表名]或[表名.dbf]的方式聲明表文件,但在使用addnew方法時(shí),表名不可帶擴(kuò)展名,而且不可加方括號(hào),否則會(huì)提示“非簡(jiǎn)單表名,不可更新” 。

4. 圖形文件的存儲(chǔ)
   DBF表中,備注形及通用型字段都可用于存儲(chǔ)圖形、音像、文本等文件(請(qǐng)參考http://www.chinadesign.com.cn/NewsContents1.asp?id=2663)。在這里,我們將字段類型設(shè)為memo(binary)(二進(jìn)制備注型),使用rst(n).AppendChunk()方法將得到的圖片二進(jìn)制數(shù)據(jù)寫入,使用Response.BinaryWrite()方法將二進(jìn)制數(shù)據(jù)還原為圖片。圖片入庫(kù)的相關(guān)文章很多,在此不再贅述。
   至于使用General(通用型)字段存儲(chǔ)圖片,我試了一下,沒有成功,也就沒有再試。

5. 數(shù)據(jù)的刪除
   可以使用delete語(yǔ)句將數(shù)據(jù)刪除,但是刪除后打開表文件,發(fā)現(xiàn)數(shù)據(jù)只是做了刪除標(biāo)記,并未真正從表中刪除。在Foxpro中,要使用pack命令將數(shù)據(jù)永久刪除。查了些資料,說是VB無法實(shí)現(xiàn)pack操作,那VBS當(dāng)然更無法實(shí)現(xiàn)了。一般的解決辦法是每隔一段時(shí)間,將表中的數(shù)據(jù)(當(dāng)然是未做刪除標(biāo)記的)導(dǎo)入一新表,刪除原表,再將新表改名為原表名。

6. 數(shù)據(jù)和圖片同時(shí)入庫(kù)
   這個(gè)問題不屬于本文要討論的范圍,網(wǎng)上也有很多文章給出了解決辦法,這里順帶說一下。
   我是利用“化境”無組件上傳程序?qū)崿F(xiàn)的這個(gè)功能。有些朋友會(huì)問,“化境”上傳是寫成文件,沒有入庫(kù)的方法啊。不錯(cuò),但是稍加改動(dòng),可以得到圖片的二進(jìn)制數(shù)據(jù),然后入庫(kù)即可。我的示例中,化境程序改動(dòng)的部分都做了注釋,請(qǐng)參考。

四、結(jié)語(yǔ)
    本文主要討論ASP對(duì)DBF自由表的操作,如果是DBC庫(kù),示例中的inc/conn.asp中給出了相應(yīng)的連接字串。
    至此,相信朋友們對(duì)DBF表的操作有了大概的了解,結(jié)合我的示例,相信大家可以開發(fā)出更多的功能。
    GOOD LUCK!




主站蜘蛛池模板: 四虎成年永久免费网站 | 青青精品| 伊人啪啪| 亚洲国产成a人v在线观看 | 最新国产福利在线观看 | 一本dao| 亚洲国产精品久久久天堂麻豆 | 中日韩美中文字幕 | 午夜在线观看免费视频 | 四方色播 | 色婷婷啪啪 | 青草视频网 | 亚洲视频污 | 网站在线观看mv视频 | 亚洲欧洲综合 | 婷婷色吧 | 天堂a在线 | 日本理论片免费观看在线视频 | 中文字幕精品亚洲无线码二区 | 亚洲伊人久久在 | 香港三级欧美国产精品 | 日日干日日射 | 亚洲婷婷在线 | 亚洲xx在线| 五月天婷婷丁香中文在线观看 | 英国美女一级毛片视频 | 中文字幕在线观看不卡视频 | 日本三级在线播放线观看2021 | 色天天干| 日韩一区二三区无 | 亚洲视频一区在线播放 | 色 在线播放 | 日韩欧美国产中文字幕 | 亚洲第一页在线播放 | 一个色综合网站 | 亚洲三级欧美 | 伊人久久大香线蕉资源 | 日韩视频久久 | 亚洲国产一区在线观看 | 性生大片一级毛片免费观看 | 亚洲国产一 |