asp连接数据库无法修改

来源:百度知道 编辑:UC知道 时间:2024/06/19 10:55:38
<%
dim num
num=request.Form("f_user")
set rs=server.CreateObject("adodb.recordset")
sqlstr="select * from main where number="&num
rs.open sqlstr,conn,1,3
response.Write("f_user")
if not rs.eof then
response.Write(rs("using"))
rs.update
end if
rs.addnew
rs("number")=request.Form("f_user")
%>
</p>

错误类型:
Microsoft VBScript 编译器错误 (0x800A03EA)
语法错误
/iisstart.asp, line 38, column 46
sqlstr="select * from main where number="&num&
---------------------------------------------^

浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 1.7; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)

网页:
GET /iisstart.asp

有人知道怎么回事么???????万分感谢

属于 类型不匹配错误:
dim num
num=request.Form("f_user")
这样得到的,一般是 字符型;
但是:sqlstr="select * from main where number="&num
看来,你的 number是 整数型(或者小数);
因此,你的肯定会出现错误了。
在 ASP中,不指定类型的,是自动把纯数字的当作 整数型的,所以你稍微修改一下即可:
dim num as string
num=request.Form("f_user")
set rs=server.CreateObject("adodb.recordset")
sqlstr="select * from main where number=" & num
rs.open sqlstr,conn,1,3
response.Write("f_user")
if not rs.eof then
response.Write(rs("using"))
rs.update
end if
rs.addnew
rs("number")=request.Form("f_user")

数据类型不正确,数据库里的类型如果是char类型的话,要再查询语句上加上单引号。
如果数据库里的是smallint或int类型的话,这样是没问题的

select * from 中间加个空格试试select * from 或select * from ,时间长了,忘记是在前在后了