日期:2014-05-16  浏览次数:21045 次

ASP向SQL server 2008 数据库写入数据问题
下面很多代码,可以直接去我怀疑问题出现的地方先看看,问题好像出现在定义insert  into 语句那里,浏览器返回的是乱码,但是能看见个问题出现的行数是Execute那行,问题可能是向数据库写入数据时出现了错误,是不是数据库那里要设置什么权限?我是用win7 IIS搭建的服务器,

获取表单数据,并赋值给变量
UserName=Trim(Request.Form("username"))
Pwd=Trim(Request.Form("pwd"))
Tel=Trim(Request.Form("tel"))
判断变量是否为空
if Not IsEmpty(Request("submit")) then
if UserName<>"" and Pwd<>"" and Tel<>"" then
Const AdCmdText=&H0001
Const AdChar=129
Const AdVarChar=200
Const AdParamInput=&H0001
Const AdExecuteNoRecords=&H00000080

我是用ODBC数据源做的连接

Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Connectionstring="DSN=SQL_DSN;Uid=sa;Pwd=toor"
Conn.Open

测试了,可以成功建立连接

创建Command对象
Set Cmd=Server.CreateObject("ADODB.Command")
Cmd.ActiveConnection=Conn

测试了,连接关系是OK的

然后定义insert into 语句
Cmd.CommandText="use ASP; GO insert into tb_user(UserName,Upwd,Utel) values(,1,1)"
Cmd.CommandType=AdCmdText '设置操作对象类型为一般命令

'调用CreateParameter方法创建Parameter对象,并将其加入Parameters集合
Set Param=Cmd.CreateParameter("name",AdVarChar,AdParamInput,50,UserName)
Cmd.Parameters.Append Param
Set Param=Cmd.CreateParameter("pwd",AdChar,AdParamInput,10,Pwd)
Cmd.Parameters.Append Param
Set Param=Cmd.CreateParameter("tel",AdVarChar,AdParamInput,50,Tel)
Cmd.Parameters.Append Param

'执行添加数据操作
Cmd.Execute ,,AdCmdText+AdExecuteNoRecords

Response.Write "<script language='javascript'>alert('通过Command对象添加数   据!');window.location.href='commandAdd.asp';</script>"
end if
end if
------解决方案--------------------
Cmd.CommandText="use ASP; GO insert into tb_user(UserName,Upwd,Utel) values('',1,1)"
这样试试