10/10/2018, 00:04
Cập nhật dữ liệu bằng ASP như thế nào
Mình viết một trang asp để cập nhật nội dung một bảng trong cơ sở dữ liệu access
Không hiểu tại sao khi chạy thì lại có thông báo lỗi
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.
Mặc dù mình đã dùng con trỏ adOpenKeySet, rồi con trỏ adOpenDynamic, dùng khóa adLockOptimistic,khóa adPessimistic
Bạn nào biết chỉ giúp mình tại sao lại có lỗi như trên và làm thế nào để cập nhật được
Không hiểu tại sao khi chạy thì lại có thông báo lỗi
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.
Mặc dù mình đã dùng con trỏ adOpenKeySet, rồi con trỏ adOpenDynamic, dùng khóa adLockOptimistic,khóa adPessimistic
Bạn nào biết chỉ giúp mình tại sao lại có lỗi như trên và làm thế nào để cập nhật được
Bài liên quan
Mình cũng kiểm tra và thấy là ổ C cứ để ntfs cũng được, chỉ cần chuyển cái database sang ổ đĩa nào dùng fat32 là được.
Bạn cho mình hỏi là ntfs phân quyền thế nào, làm sao để vẫn dùng ntfs mà vẫn cập nhật dữ liệu được ?
Baotin(STT,NGAY,VT,MOTA,HTNBT)
trang Them01.asp nhu sau :
<html>
<body>
<form method="post" action="THEM02.asp">
<h2>Thêm mẫu tin mới</h2>
<table>
<tr>
<td>So thu tu :</td>
<td><input name="STT"></td>
</tr><tr>
<td>Ngày báo tin : </td>
<td><input name="NGAY"></td>
</tr><tr>
<td>Vị trí : </td>
<td><input name="VT"></td>
</tr><tr>
<td>Mô tả : </td>
<td><input name="MOTA"></td>
</tr><tr>
<td>Tên người báo tin: </td>
<td><input name="HTNBT"></td>
</tr>
</table>
<br><br>
<input type="submit" value="Add New" Name="B1">
<input type="reset" value="Cancel" Name="B2">
<input type="button" value="return" Name="B2" onclick="history.go(-1)" >
</form>
</body>
</html>
Trang them02.asp nhu sau :
<html>
<head>
<title>Xử Lý Thêm Record Mới</title>
<%
set cn=Server.CreateObject("ADODB.Connection")
cn.Provider="Microsoft.Jet.OLEDB.4.0"
cn.Open(Server.Mappath("DT1.mdb"))
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "BAOTIN",cn,1,3
On Error Resume Next
MSTT= Request.Form("STT")
MNGAY= Request.Form("NGAY")
MVT= Request.Form("VT")
MMOTA= Request.Form("MOTA")
MHTNBT= Request.Form("HTNBT")
rs.addnew
rs("STT")=MSTT
rs("Ngay")=MNGAY
rs("VT")=MVT
rs("MOTA")=MMOTA
rs("HTNBT")=MHTNBT
rs.update
If Err<>0 then
rs.cancelupdate
Response.write("Đã tồn tại STT này hoặc nhập sai dữ liệu <a href=them01.asp>Nhập Lại</a>")
Else
Response.write("Đã Thêm Thành Công")
end if
rs.close
cn.close
%>
</head>
<body>
<form name="Tthem" method="Post" action="them01.asp">
<p><input type="submit" value="Tiếp Tục Thêm Record Mới" name="Tthem"></p></form>
</body>
</html>
=> Máy mình sử dụng NTFS và cấp quyền FullControl Chạy vẫn tốt bạn thử xem sao !
Minh co 1 csdl dat ten la csdl.mdb ben trong co 1 table
dat ten la tblNhanvien(Manv,Hotennv)
Trang Thongtincapnhat.asp co noi dung sau :
<html>
<head>
<title>Thong Tin Cap Nhat</title>
</head>
<body>
<h2>Thong Tin Nhan Vien</h2>
<form method="post" action="xulycapnhat.asp" name="F">
<p>Nhap Ma Nhan Vien : <input type="text" name="Manv" size="12"></p>
<p>Nhap Ho Ten Nhan Vien : <input type="text" name="Hotennv" size="27"></p>
<p><input type="submit" name="B1" value="Them"></p>
</form>
</body>
</html>
Trang xulycapnhat.asp co noi dung sau :
<html>
<head>
<title>Xu Ly Cap Nhat Thong Tin</title>
<%
set cn=Server.CreateObject("ADODB.Connection")
cn.Provider="Microsoft.Jet.OLEDB.4.0"
cn.Open(Server.Mappath("CSDL.mdb"))
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "tblNhanvien",cn,1,3
MManv= Request.Form("Manv")
MHotennv=Request.Form("Hotennv")
rs.addnew
rs("Manv")=MManv
rs("Hotennv")=MHotennv
rs.update
if rs.supports(addnew) then
Response.write("Them duoc")
else
Response.write("ko them duoc")
End If
rs.close
cn.close
%>
</head>
<body>
</body>
</html>
ban thu xem sao nha ! chuc vui ve