回 帖 发 新 帖 刷新版面

主题:请教高手,出现0x800a0408错误,显示为无效字符,该修改哪里?

<%@LANGUAGE="VBScript" codepage="936"%>    
<!--#include file="shujuku.asp"-->   
<html>
<body>
<% 
set conn=Server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPat("date.mdb")
set rs=server.CreateObject("adodb.recordset") 
rs.open "select * from main",conn,3,3 
rs.addnew 
rs("user")=trim(request.form("user"))    
rs("tel")=trim(request.form("tel"))    
rs("email")=trim(request.form("email"))   
rs("content")=trim(request.form("content"))   
rs("tel")=qq    
rs("email")=email    
rs("content")=content    
rs.update   
rs.close    
set rs=nothing    
conn.close     
set rs=nothing    
%> 

<meta http-equiv="refresh" content="2;URL=index.asp">
<%
response.write "提交成功,2秒钟后将自动返回首页"
%>
</body>
</html>

回复列表 (共5个回复)

沙发

rs("user")=trim(request.form("user"))    
rs("tel")=trim(request.form("tel"))    
rs("email")=trim(request.form("email"))   
rs("content")=trim(request.form("content"))   
rs("tel")=qq    
rs("email")=email    
rs("content")=content 
[color=FF0000]你这些字段格式与你赋予它们的值是不是同样的格式?
是不是有些字段你设置为数值,而你赋予它的值是字符串?[/color]

[color=FF0000]还有:[/color]
rs.close    
set rs=nothing    
conn.close     
set rs=nothing 
[color=FF0000]这段代码中你写错了吧,应是:[/color]
rs.close    
set rs=nothing    
conn.close     
[b]set conn=nothing [/b]

板凳

还有一种可能是你连接数据库时出了问题下面的我的网站中一篇关于连接数据的文章:
用ASP连接DBF、DBC、MDB、Excel、SQL Server型数据库的方法:
一、ASP的对象存取数据库方法
 在ASP中,用来存取数据库的对象统称ADO(Active Data Objects),主要含有三种对象:Connection、Recordset 、Command
Connection:负责打开或连接数据
Recordset:负责存取数据表
Command:负责对数据库执行行动查询命令

二、连接各数据库的驱动程序
 连接各数据库可以使用驱动程序,也可以使用数据源,不过我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦。

ODBC链接

适合数据库类型 链接方式 
access:   "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;" 

dBase:   "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;" 

oracle:   "Driver={microsoft odbc for oracle:};server=oraclesever.world;uid=admin;pwd=pass;" 

MSSQL:  server "Driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;" 

MS text:   "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;" 

Visual Foxpro:  "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;" 

MySQL:  "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;" 


OLEDB链接

适合的数据库类型 链接方式 
access:  "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;password=pass;" 

oracle:  "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;" 

MS SQL Server:  "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;userid=sa;password=pass;" 

MS text:   "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties'text;FMT=Delimited'" 


而我们在一般情况下使用Access的数据库比较多,在这里我建议大家连接Access数据库使用下面的方法:

dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("../db/bbs.mdb")

其中../db/bbs.mdb是你的数据库存放的相对路径!如果你的数据库和ASP文件在同一目录下,你只要这样写就可以了:

dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("bbs.mdb")

有许多初学者在遇到数据库连接时总是会出问题,然而使用上面的驱动程序只要你的数据库路径选对了就不会出问题了。

3 楼

先调试下数据库链接试试

那些字段给的都是数值

不知道为什么总报错

4 楼

这个trim(request.form("user"))得到是字符串不是数值,你要把它转换成数值型:
rs("user")=cint(trim(request.form("user")))  
其它也一样
不过我有个奇怪的问题,user字段你怎么会设置为数值型?

5 楼


已经可以了,谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册