亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP對FoxPro自由表(DBF文件)的操作

2019-11-18 19:16:02
字體:
來源:轉載
供稿:網友

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

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

三、解決途徑
1. 連接
   DBF文件的ODBC驅動程序名稱為 Microsoft Visual FoxPro Driver,在ASP中,通過Connection對象與其聯接,需要注意的是,聯接時將DBF所在目錄視為庫名。以下是具體聯接代碼:
  
   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文件所在的相對路徑(相對于此代碼所在的文件),通過Server.MapPath(db)將其轉為絕對路徑。
   http://www.connectionstrings.com 給出了很多類型的庫表文件的連接字串,其中對DBF文件,給出的連接字串為:
   "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:/mydbpath;"
   我用此連接字串沒有連接成功,沒有進行進一步測試,有興趣的朋友可以試一下以上字串。
   .www.49028c.com
2. 在SQL語句中聲明表名
   可以用[表名]或[表名.擴展名]的形式在SQL語句中聲明要操作的表名,如表文件名為t1.dbf,SQL語句為:
   select * from [t1]  或  select * from [t1.dbf]

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

   rst.open "[t1]",conn,0,3
   rst.addnew
   rst(0).value = "MyName"
   rst(1).value = {^1970-1-1}
   rst.update
   rst.close
  
   在對SQL Server及Access操作時都沒有問題,但是對DBF文件操作時出現了問題。經過試驗,終于找到了正確的方法:
  
   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

   請注意以上兩段代碼的差別,主要在SQL語句上。前面說過,在SQL語句中,可以用[表名]或[表名.dbf]的方式聲明表文件,但在使用addnew方法時,表名不可帶擴展名,而且不可加方括號,否則會提示“非簡單表名,不可更新” 。

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

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

6. 數據和圖片同時入庫
   這個問題不屬于本文要討論的范圍,網上也有很多文章給出了解決辦法,這里順帶說一下。
   我是利用“化境”組件上傳程序實現的這個功能。有些朋友會問,“化境”上傳是寫成文件,沒有入庫的方法啊。不錯,但是稍加改動,可以得到圖片的二進制數據,然后入庫即可。我的示例中,化境程序改動的部分都做了注釋,請參考。

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲欧美日韩一区二区| 57pao国产成人免费| 另类天堂视频在线观看| 91wwwcom在线观看| 最近2019年好看中文字幕视频| 久久久久久免费精品| 欧美成人免费大片| 欧美三级免费观看| 亚洲香蕉伊综合在人在线视看| 亚洲最大福利视频网| 欧美日韩中文在线| 欧美一级高清免费| 国产玖玖精品视频| 亚洲夜晚福利在线观看| 欧美性猛交xxxx黑人| 5278欧美一区二区三区| 久热国产精品视频| 2019国产精品自在线拍国产不卡| 亚洲女人被黑人巨大进入| 国产精品日韩精品| 亚洲国产精品久久久久秋霞不卡| 欧美激情一二区| 91老司机精品视频| 成人在线免费观看视视频| www.亚洲一二| 亚洲一区二区福利| 欧美一级bbbbb性bbbb喷潮片| 91免费在线视频网站| 日本欧美在线视频| 成人免费观看网址| 国内精品久久久久久| 亚洲一二三在线| 国内精品久久久久影院 日本资源| 欧洲s码亚洲m码精品一区| 国产九九精品视频| 日韩欧美aⅴ综合网站发布| 在线观看精品国产视频| 九九热在线精品视频| 日韩有码视频在线| 九九热这里只有在线精品视| 成人国产精品免费视频| 精品五月天久久| 国自在线精品视频| 欧美性videos高清精品| 久久精品夜夜夜夜夜久久| 亚洲直播在线一区| 91tv亚洲精品香蕉国产一区7ujn| 国产精品678| 最新69国产成人精品视频免费| 亚洲大尺度美女在线| 日韩精品免费看| 精品亚洲精品福利线在观看| 欧美大片在线看免费观看| 国产精品第二页| 国产美女精品视频免费观看| 日韩一区二区精品视频| 久久97精品久久久久久久不卡| 欧美一级电影久久| 亚洲天堂成人在线| 久久精品国产久精国产思思| 国产美女精品视频免费观看| 国产精品福利小视频| 精品动漫一区二区| 91久久嫩草影院一区二区| 亚洲一区二区三区视频播放| 国产日韩欧美黄色| 欧美激情影音先锋| 国产视频丨精品|在线观看| 一区二区三区视频免费在线观看| 亚洲视频一区二区三区| 久久99国产精品自在自在app| 性视频1819p久久| 国产精品欧美日韩一区二区| 在线观看欧美日韩| 国产精品人成电影在线观看| 久久久久久久国产| 一本色道久久综合狠狠躁篇的优点| 精品亚洲夜色av98在线观看| 国产日韩精品入口| 91精品免费久久久久久久久| 亚洲国产一区自拍| 亚洲精品一区av在线播放| 最近2019中文字幕一页二页| 久久综合亚洲社区| 97在线观看免费| 成人在线视频网站| 日本精品视频在线播放| 亚洲精品国产品国语在线| 亚洲va欧美va国产综合剧情| 欧美日韩国产中文精品字幕自在自线| 成人精品视频在线| 91wwwcom在线观看| 精品国产欧美一区二区五十路| 日本一区二区在线免费播放| 欧美丰满少妇xxxxx| 欧美在线视频导航| 97久久国产精品| 日韩成人在线视频观看| 欧美在线欧美在线| 久久精品国产欧美亚洲人人爽| 亚洲另类激情图| 亚洲自拍偷拍色图| 2018国产精品视频| 在线日韩日本国产亚洲| 国产一区二区视频在线观看| 国产偷亚洲偷欧美偷精品| 最新日韩中文字幕| 久久久久亚洲精品成人网小说| 国产成人高清激情视频在线观看| 欧美黑人一级爽快片淫片高清| 美日韩丰满少妇在线观看| 中文字幕免费精品一区高清| 夜夜躁日日躁狠狠久久88av| 蜜臀久久99精品久久久久久宅男| 成人在线视频网| 97精品国产97久久久久久免费| 日韩av有码在线| 色综合久久天天综线观看| 亚洲免费电影在线观看| 日本精品中文字幕| 国产精品扒开腿做| 亚洲国模精品私拍| 5278欧美一区二区三区| 日韩欧美视频一区二区三区| 亚洲国产精品女人久久久| 欧美精品一区二区三区国产精品| 欧美日韩国产精品一区二区三区四区| 日本aⅴ大伊香蕉精品视频| 国内精品小视频在线观看| 日韩av在线影视| 亚洲天堂第一页| 精品人伦一区二区三区蜜桃免费| 欧美整片在线观看| 国产日韩精品在线播放| 午夜精品久久久久久久男人的天堂| 亚洲香蕉av在线一区二区三区| 久久99视频精品| 欧美在线亚洲一区| 欧美乱大交xxxxx| 国产日韩在线视频| 久久97久久97精品免视看| 免费99精品国产自在在线| 亚洲精品xxx| 亚洲欧美999| 日韩欧美国产中文字幕| 国产福利视频一区| 欧美国产精品人人做人人爱| 国产精品免费小视频| 国产精品日韩欧美综合| 国外成人免费在线播放| 国产一区二区三区直播精品电影| 国产精品免费网站| 午夜精品福利在线观看| 亚洲三级 欧美三级| 日韩美女在线播放| 欧美日韩中国免费专区在线看| 上原亚衣av一区二区三区| 国产成人精品在线观看| 亚洲人成电影在线观看天堂色| 亚洲久久久久久久久久| 国产精品羞羞答答| 亚洲欧洲日本专区| 国产精品一区专区欧美日韩| 亚洲女人天堂视频|