ASP高手请进来~一个小小的问题..

来源:百度知道 编辑:UC知道 时间:2024/07/07 19:00:28
<%
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from s1","driver={microsoft access driver (*.mdb)};dbq="&server.mappath("/db/db.mdb")
set cn=server.CreateObject("adodb.connection")
cn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("/db/db.mdb")
cn.execute ("insert into s1(ID,man) values('2','1000')")
cn.close
rs.close
set cn=nothing
set rs=nothing
%>
执行这段代码总是出现
Microsoft OLE DB Provider for ODBC Drivers '80040e14'

[Microsoft][ODBC Microsoft Access ��������] INSERT INTO ��������������

\wwwroot\index1.asp, line 4
第四行其实就是
cn.execute ("insert into s1(ID,man) values('2','1000

cn.execute ("insert into s1(ID,man) values('2','1000')")
其中ID字段如果是自动编号,那就只用这样:
cn.execute ("insert into s1(man) values('1000')") ,否则出错,自动编号的ID也是不可以更改的。

<%
set cn=server.CreateObject("adodb.connection")
cn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("/db/db.mdb")
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from s1
if rs.eof then
cn.execute ("insert into s1(ID,man) values('2','1000')")
end if
rs.close
set rs=nothing
cn.close
set cn=nothing
%>

看看你的表s1,ID字段是不是自增类型的?如果是自增类型,是不允许手动插入值的。另外,如果man字段是数字类型的话,后面的1000不需要单引号。

ID这个是自动编号的么?
如果是,这个是不能修改的.