問題現(xiàn)象:
在注冊(cè)或提交表單寫入數(shù)據(jù)庫(kù)時(shí),也提示成功,但就是沒有寫入數(shù)據(jù)庫(kù)里面,很讓人郁悶!
錯(cuò)誤類型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必須使用一個(gè)可更新的查詢。
出現(xiàn)這樣的問題的時(shí)候,是由于無(wú)法更新數(shù)據(jù)庫(kù)數(shù)據(jù),比如無(wú)寫權(quán)限等一般有如下兩點(diǎn):
1、你的數(shù)據(jù)庫(kù)為ACCESS格式、你的數(shù)據(jù)庫(kù)文件的屬性為“只讀”。
2、你的數(shù)據(jù)庫(kù)為ACCESS格式、你的網(wǎng)站程序及數(shù)據(jù)庫(kù)是放置在ntfs文件格式盤上的。
解決辦法:
1、在你的數(shù)據(jù)庫(kù)文件屬性欄將“只讀”前的“√”點(diǎn)掉即可。
2、首先打開“我的電腦” -> “工具” -> 文件夾選項(xiàng) -> “默認(rèn)使用簡(jiǎn)單共享(推薦)”,把這個(gè)選項(xiàng)去掉。
(1)對(duì)NTFS的文件系統(tǒng):
再在所要連接的數(shù)據(jù)庫(kù)文件上右鍵點(diǎn)擊,就會(huì)出現(xiàn)安全選項(xiàng)卡,原來(lái)默認(rèn)的沒有,然后在安全選項(xiàng)卡里面可以設(shè)置用戶的寫入權(quán)限了。右擊“數(shù)據(jù)庫(kù)” -> 安全 -> 選中everyone 或users(computerusers) -> 在users的權(quán)限設(shè)置中,選中寫入權(quán)限.問題就解決了!
(2)FAT32就不需要做上面的權(quán)限設(shè)置.
3、重新檢查一下,你的代碼或數(shù)據(jù)庫(kù)的表名是不是用了 VB 等的保留字,如order,now,dir...... 這是致命的,一定要改成其它的。比如曾經(jīng)我就用order做我訂單的表名,后果就是不能寫入數(shù)據(jù)庫(kù)!在這種情況下,也可以不改表名,可以在出現(xiàn)表名的地方,用 [ ] 將表名括起來(lái),這樣用來(lái)區(qū)別于系統(tǒng)的默認(rèn)函數(shù)或保留字,而且這也是嚴(yán)格的寫法。如下
select * from [user]
select [name,number] from [order] order by id 其中的[order]是表名,后者order則是排序的系統(tǒng)函數(shù)!







