有的時候,我們經常需要把客戶信息等一些資料發布到網上以便聯系,但是隨著客戶資料的越來越多,網上更新是越來越力不從心,這該怎么辦?其實,除了用asp、php等這些后臺語言來實現快捷更新外,Dreamweaver本身就提供了數據導入與排序的方法,這對不懂后臺的朋友來說絕對是個大大的福音,Dreamweaver從版本3到最新的MX一直都保留了該功能,可見它的實用之處。下面我們就來見識一下它的功效究竟如何。
注:本文以Dreamweaver MX為例
1、例如我們現在手頭有個kehu.txt文件,里面是**公司客戶聯系單,詳細信息如下所示:
姓名,性別,職位,電話
李明,男,A公司技術人員,87185900
李巖,男,B公司經理,80226888
王強,男,C公司總工程師,83546790
蘇林,女,D公司營銷人員,87556341
陳東東,男,E公司項目主任,87436588
可以看到,這里面的每項都用逗號進行了分離。
2、(1)打開DW MX,新建一個html頁面,選擇菜單欄insert/table objects/import tabular data這項。

圖1
(2)出現import tabular data窗口,單擊“Browse…”按鈕,選擇存放數據的文本文件,在Delimiter該項中要和文本文件里的分隔符相對應,因為kehu.txt文件里用的是逗號,所以選擇了Comma,其它各項可根據各位需要進行選擇修改。

圖2
(3)最后點擊“OK”,一張包含文本文件數據的表格就呈現在了你的面前。

圖3
3、(1)雖然表格是做出來了,不過有時我們需要對表格中的數據進行排序,這DW當然也想到了,先選中表格,然后選擇菜單欄commands/sort table。

圖4
(2)出現sort table窗口,sort by項選擇column 1,order項選擇按字母排序Alphabetically和升序排列Ascending,其它各項各位可參照圖5根據需要進行選擇。

圖5
(3)單擊“OK”,這樣就完成了對表格中列1的排序,列1中的姓名均以拼音字母大小來進行了升序排列。

圖6
4、(1)現在,我們效果和排序都出來了,最后要做的就是對表格的美化,愛美之心人皆有之,表格也不例外呀,除了自己手動美化外,DW也專門提供了十七種樣式供你選擇。與sort table類似,先選中表格,再選擇commands/format table項。

圖7
(2)出現format table窗口,左上角有各樣式,可根據你的喜好來選擇,因為其余各項都是傻瓜式的操作,在這里就不一一介紹了,只是對最后一項強調一下,該項是詢問你是否把各樣式代碼添加到TD標記里而非默認添加到TR標記中,在這里筆者建議你不要勾選,否則會生成比默認設置多得多的代碼。

圖8
(3)單擊“OK”,大功告成,最后生成的效果圖如下,怎么樣?簡簡單單的幾步就能做成這樣,原本需要用后臺編程才能實現的功能,用DW就輕松搞定了,它的強大之處也正是在于此。
]]>一、上傳網頁時出現如下錯誤:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱并且未指定默認驅動程序
此類錯誤出現的情況大多是在用DW建立站點時運行到下面的步驟時我們選擇了第一項或第二項,如圖一:

圖一
1、當選擇了第一項時,我們開發的ASP程序是在本地編輯和測試。在應用數據庫時建立數據庫連接大多采用的是DSN或自定義連接字符串
用DSN時如圖二所示:

圖二
DSN是用ODBC數據源管理器建立。我們知道DSN有用戶DSN、系統DSN、文件DSN三種,其中用戶DSN與系統DSN只能用于當前機器,不能為別的機器所用。而在用DW建立ASP程序時在上圖的第二項只能顯示系統DSN,因此當我們將ASP程序上傳或到別的機器運行時便會出現上述問題。
用自定義連接字符串時如圖三所示:
圖三
連接字符串包含 Web 應用程序連接到數據庫所需的全部信息。
Driver 指定在沒有為數據庫指定 OLE DB 提供程序時所使用的 ODBC 驅動程序。
DBQ 是指向基于文件的數據庫(如在 Microsoft Access 中創建的數據庫)的路徑。該路徑是在測試數據庫文件的服務器上的路徑。
下面是一個連接字符串示例,它將創建與名為book.mdb 的 Access 數據庫的 ODBC 連接:Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\book\trees.mdb。Dreamweaver 在服務器端腳本中插入該字符串,以便應用程序服務器隨后進行處理。當我們將ASP程序上傳或到別的機器運行時如果測試的路徑與連接字符串的數據庫路徑不一致時,便會發生上述問題。
2 當選擇了第二項時,我們開發的ASP程序是在本地編輯,然后上傳到遠程服務器測試。建立數據庫連接也采用的是DSN或自定義連接字符串,不同的是都采用的測試服務器上的DSN或連接字符串。當采用測試服務器上的DSN時同樣也只能用系統DSN于是當到別和機器運行ASP程序時,也就產生了同樣的問題。當采用自定義字符串時如果測試的路徑與連接字符串的數據庫路徑不一致時,也會發生同樣的問題。
從以上分析可知,要使自己用DW開發的ASP程序具有可移植性最好采用自定義字符串(也可采用文件DSN但對于初學者用自定義字符串容易些)。其具體情況如下:
對于建立站點時選擇在本地編輯與測試,可采用此自定義連接字符串: Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\book\trees.mdb(d:\book表示數據庫文件的實際路徑);D而對于在本地編輯然后上傳到遠程服務器測試,若要將非 DSN 連接字符串寫入位于遠程服務器,必須知道該文件的實際路徑.如果不知道文件在遠程服務器上的實際路徑,則可以通過在連接字符串中使用 MapPath 方法來獲取該路徑。其自定義連接字符串為: 如果使用 VBScript 作為腳本撰寫語言,連接字符串可表示如下:Driver={Microsoft Access Driver (*.mdb)};DBQ=” & Server.MapPath(“/book/book.mdb”);如果使用 JavaScript,表達式將基本相同,只是要使用加號 (+) 而不是 & 號來串聯兩個 字符串,連接字符串可表示如下:Driver={Microsoft Access Driver (*.mdb)};DBQ=” +Server.MapPath(“/book/book.mdb”)這樣我們便可以順利地移植ASP程序了(注意一定要將數據庫文件上載到遠程服務器。記下它的虛擬路徑,例如”/book/book.mdb”,否則將會出錯)。 其時很多時候當我們發現類似的錯誤提示都應該考慮到是否因為數據庫連接產生了問題,如果是便可使用上述方法解決.
二、ADODB.Field (0x800A0BCD)BOF 或 EOF 中有一個是“真”,或者當前的記錄已被刪除,所需的操作要求一個當前的記錄。
這種錯誤常產生于網頁之間傳遞數據.我們知道ASP應用程序時一般至少擁有二個或二個以上的Web頁面,這時就得考慮在多個Web頁面間傳遞數據的處理工作。網頁間數據傳遞的常用方法有:URL方式、FORM方式、COOKIE、APPLICATION、SESSION。其中URL方式和form方式實現方法簡單,可實現網頁間的簡單數據傳遞(也是我們初學者能快速掌握的)而且必須是連續訪問兩頁面間數據傳遞。如在制作網站搜索引擎時,便要用到FORM方式傳遞參數。又如我們每每看一些網站在用戶注冊后,便可在下一個頁面看出到用戶的詳細信息。但我們用DW制作類似的頁面時則總出現這樣的錯誤。這樣的錯誤一般屬于記錄集(recordset)的問題.這類問題發生的原因,一般是執行了查詢條件,但送回的結果卻是空的,即沒有符合查詢條件的記錄或是執行了循環,執行到第一個或是最后一個記錄集的時候,沒有及時終止循環,所以產生了錯誤。解決此問題就要用到網頁間的數據傳遞,可用FORM參數、URL參數或階段變量(如SESSION)來決定查詢條件。
三、在DW中,因打開數據庫造成的常見錯誤
1 在運行程序時,因打開數據庫造成的錯誤
Microsoft OLE DB Provider for ODBC Drivers 錯誤 ‘80004005’
[Microsoft][ODBC Microsoft Access Driver]常見錯誤 不能打開注冊表關鍵字 ‘Temporary (volatile) Jet DSN for process 0xaa0 Thread 0x628 DBC 0x2e80064 Jet’。
2 在上傳文件時,因打開數據庫造成的錯誤,如圖四所示:

圖四
四、不能更新。數據庫或對象為只讀/操作必須使用一個可更新的查詢 (80004005)
Microsoft OLE DB Provider for ODBC Drivers 錯誤 ‘80004005’
[Microsoft][ODBC Microsoft Access Driver] 操作必須使用一個可更新的查詢。
Microsoft OLE DB Provider for ODBC Drivers 錯誤 ‘80004005’ [Microsoft][ODBC Microsoft Access Driver] 不能更新。數據庫或對象為只讀。
1、最普遍的原因是匿名用戶帳號(IUSR_MACHINE)對該數據庫文件沒有寫權限。要解決這個問題,在管理器中調整數據庫文件的屬性,讓匿名用戶有正確的權限。當使用ACCESS數據庫時,不僅要給文件寫的權限,還要給該目錄寫的權限.在IIS里面,有一個設置,就是Web匿名訪問用戶,也就是大家熟悉的 IUSR_
1) 這就是我們要用程序去操作的Access數據庫文件
2) 右鍵 –> 屬性:此文件的“安全”屬性
3) 增加用戶 IUSR_
4) 設置 IUSR_
這是設置好了的權限注意只給了 IUSR_
2、原因是數據庫沒有使用正確的模式打開。應該使用下面的方法打開。
Set Conn = Server.CreateObject(“ADODB.Connection”)
Conn.Mode = 3 ‘3 = adModeReadWrite
Conn.Open “myDSN”
Conn.Execute(SQL)
Conn.Close
注意默認的Mode是設置0(adModeUnknown),它是允許更新的。
3、還有可能是在ODBC管理器中將該DSN的只讀選項選中。
4、你是在同時更新兩個表中的字段,也會出現這個錯誤信息,解決辦法是分開來更新這兩個表中各自字段。
5、當你使用了一個從低版本中(如ACCESS2.0,ACCESS7.0)載入到高版本(ACCESS 2000)中的查詢時,在執行這個查詢是會出現該錯誤。
五、Microsoft JET Database Engine 錯誤 ‘80040e09’
不能更新。數據庫或對象為只讀。
A: 未打開數據庫目錄的讀寫權限。 解決方法:
( 1 )檢查是否在 IIS 中對整個網站打開了 “ 寫入 ” 權限,而不僅僅是數據庫文件。
( 2 )檢查是否在 WIN2000 的資源管理器中,將網站所在目錄對 EveryOne 用戶打開所有權限。具體方法是:打開 “ 我的電腦 ”—- 找到網站所在文件夾 —- 在其上點右鍵 —- 選 “ 屬性 ”—– 切換到 “ 安全性 ” 選項卡,在這里給 EveryOne 用戶所有權限。
注意: 如果你的系統是 XP ,請先點 “ 工具 ”—-“ 文件夾選項 ”—-“ 查看 ”—– 去掉 “ 使用簡單文件共享 ” 前的勾,確定后,文件夾 “ 屬性 ” 對話框中才會有 “ 安全性 ” 這一個選項卡。
六、系統不能打開注冊表關鍵字(8007000e)
Microsoft OLE DB Provider for ODBC Drivers 錯誤 ‘8007000e’
[Microsoft][ODBC Microsoft Access Driver]常見錯誤 不能打開注冊表關鍵字 ‘Temporary (volatile) Jet DSN for process 0x11b4 Thread 0x1a4c DBC 0x9d34354 Jet’。
產生錯誤可能原因:
1.打開數據庫時寫法不對,標準的ACCESS數據庫調用寫法:(如果無法記清如何寫,可利用DW的幫助)
”driver={Microsoft Access Driver (*.mdb)};dbq=” & server.mappath(“db.MDB”)
2. 正在上傳數據庫文件。
總之在用DW制作ASP網站時使用數據庫比較容易出現錯誤,錯誤出現時一定要看清錯誤的類型,多加思考多請教一定會得到解決。
]]>