日韩欧美人妻无码精品白浆,夜夜嗨AV免费入口,国产欧美官网在线看,高校回应聋哑女生因长相完美被质疑

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

asp Driver和Provider兩種連接字符串連接Access時(shí)的區(qū)別

admin
2010年11月26日 8:59 本文熱度 3793

Microsoft OLE DB Provider for ODBC Drivers 錯(cuò)誤 '80040e21' 多步 OLE DB 操作產(chǎn)生錯(cuò)誤。如果可能,請(qǐng)檢查每個(gè) OLE DB 狀態(tài)值。沒(méi)有工作被完成。
一個(gè)網(wǎng)站程序,在添加新聞時(shí)出現(xiàn)錯(cuò)誤
以下是錯(cuò)誤提示:
Microsoft OLE DB Provider for ODBC Drivers 錯(cuò)誤 '80040e21'
多步 OLE DB 操作產(chǎn)生錯(cuò)誤。如果可能,請(qǐng)檢查每個(gè) OLE DB 狀態(tài)值。沒(méi)有工作被完成。
出現(xiàn)這種錯(cuò)誤的原因是因?yàn)槲野補(bǔ)ccess連接字符串修改為"Driver={Micorsoft Access Driver ()};dbq=" & Server.Mappath(DbPath),而原來(lái)的連接字符串為"Provier=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.Mappath(DbPath) 時(shí)則不會(huì)出現(xiàn)這種錯(cuò)誤。看來(lái)這兩種連接access數(shù)據(jù)庫(kù)的方式還是有一定區(qū)別的。至少后一種連接方式在容錯(cuò)性上好一些,但很明顯在規(guī)范上是不太正規(guī)的。
為了敘述得簡(jiǎn)單,我下面把這兩種方式分別叫做provider連接和driver連接。
上述錯(cuò)誤在修改新聞時(shí)卻不會(huì)出現(xiàn)。我看了一下代碼發(fā)現(xiàn)在執(zhí)行添加時(shí),有一個(gè)用Excute取得的記錄集未進(jìn)行關(guān)閉。我關(guān)閉了一下也無(wú)法正確執(zhí)行。
于是我寫(xiě)了一段代碼,又另外設(shè)計(jì)了一個(gè)簡(jiǎn)單的表格,發(fā)現(xiàn)這時(shí)兩種連接方法可以添加進(jìn)去,于是我又將這段代碼中的表?yè)Q回原來(lái)的,還是不可以執(zhí)行。難道與表有關(guān)?
于是我開(kāi)始仔細(xì)的研究表格,發(fā)現(xiàn)原表格有一個(gè)自動(dòng)編號(hào)字段在程序中被賦值了。我記得自動(dòng)編號(hào)是不可以被賦值的呀。于是我把那個(gè)表的自動(dòng)編號(hào)一去,結(jié)果可以正常執(zhí)行。
看來(lái)用Provider方式連接是可以對(duì)自動(dòng)編號(hào)字段賦值的。
下面說(shuō)一下另一個(gè)地方的區(qū)別。
我使用driver連接時(shí),在頻道設(shè)置時(shí)出現(xiàn)了一個(gè)Null值,但是實(shí)際上在數(shù)據(jù)庫(kù)中是有值的,我看了一下這個(gè)字段的數(shù)據(jù)類(lèi)型,是備注。那是不是說(shuō)driver驅(qū)動(dòng)對(duì)長(zhǎng)的備注支持也不太好呢?不會(huì)吧,我那個(gè)新聞表中的新聞內(nèi)容一定是備注的呀,應(yīng)該不是這方面的原因。
是什么方面的原因呢?難道是因?yàn)樗俏挥诹硪粋€(gè)備注的后面?可是新聞表中也有兩個(gè)備注并且內(nèi)容備注也是位于簡(jiǎn)介備注的后面呀。這種懷疑也被排除。
是因?yàn)檫@個(gè)字段是有關(guān)鍵字的原因?我把這個(gè)字段值改為1,結(jié)果也是出錯(cuò)。
那是什么方面的原因呢?
干脆自己再寫(xiě)一個(gè)頁(yè)面測(cè)試,測(cè)試代碼如下
以下是測(cè)試代碼:
復(fù)制代碼 代碼如下:
dim conn
set conn=server.createobject("adodb.recordset")
conn.open "driver={Microsoft access driver (*.mdb)};dbq=" & server.mappath("data/dd.mdb") 'driver連接方式
'conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("data/dd.mdb") 'provider連接方式
set rs=conn.execute("select * from s_channel where channelID=11")
response.Write rs("UploadSetting")
rs.close
set rs =nothing


如果發(fā)現(xiàn)兩種連接能正常的輸出。
于是我在原代碼的剛打開(kāi)記錄集的地方輸出(response.write)了一下,發(fā)現(xiàn)在那個(gè)位置可以正常輸出該字段的值。于是我把輸出代碼不停的向下移動(dòng),最終移動(dòng)到
以下是代碼片段:
復(fù)制代碼 代碼如下:
if IsNull(rs("UploadSetting")) or rs("UploadSetting")="" then
UploadSetting=Split("1,2,3,4@Other@2@0@jpg|gif|bmp|png@100@1@swf@500@1@rm|mp3|wav|mid|avi|mpg|mpeg|asf|wma@2048@1@rar|zip|exe|doc|xls|chm@2048@1","@")
else
UploadSetting=Split(rs("UploadSetting"),"@")
end if


放到if上面可以正常的輸出內(nèi)容,但是放到else后面就輸出Null什么原因呢?
于是最終的測(cè)試代碼如下
以下是測(cè)試代碼:
復(fù)制代碼 代碼如下:
dim conn
set conn=server.createobject("adodb.recordset")
conn.open "driver={Microsoft access driver (*.mdb)};dbq=" & server.mappath("data/dd.mdb") 'driver連接方式
'conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("data/dd.mdb") 'provider連接方式
set rs=conn.execute("select * from s_channel where channelID=11")
response.Write rs("UploadSetting")
if IsNull(Rs("UploadSetting")) or rs("UploadSetting")="" then
response.Write "dd"
else
response.Write rs("UploadSetting")
end if


rs.close
set rs =nothing


以上代碼,在使用provider方式連接時(shí),能正確輸出rs("uploadSetting")中的值,而在Driver方式下則什么也不輸出。


我們是不是可以這么理解:就是在Driver方式下,對(duì)備注內(nèi)容的引用只能有一次,而再次引用時(shí)則變?yōu)镹ULL值。而Provider則不會(huì)出現(xiàn)這種情況。


對(duì)于這種情況的適應(yīng),我們只能是通過(guò)一個(gè)變量。讓備注字段的內(nèi)容先給一個(gè)變量,而不是直接引用。


該文章在 2010/11/26 8:59:27 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved