ASP向SQL server 2008 数据库写入数据问题

ViewerP 2014-03-27 10:30:52
下面很多代码,可以直接去我怀疑问题出现的地方先看看,问题好像出现在定义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
...全文
290 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangtututu 2014-03-31
  • 打赏
  • 举报
回复
接分 接分
ViewerP 2014-03-29
  • 打赏
  • 举报
回复
引用 2 楼 aspwebchh 的回复:
Cmd.CommandText="use ASP; GO insert into tb_user(UserName,Upwd,Utel) values('',1,1)" 这样试试
多谢 已解决!
ViewerP 2014-03-29
  • 打赏
  • 举报
回复
问题已经解决: 定义insert into 语句时可以是:values(?,?,?),也可以是values('"&UserName&"','"&Upwd&"''"&Utel&"',) 后面的执行添加数据那里缺少参数 Cmd.Execute [count],[Parameters],[options] 正确的写法是 Cmd.Execute 3,Param,AdCmdText+AdExecuteNoRecords 多谢回复
挨踢直男 2014-03-28
  • 打赏
  • 举报
回复
Cmd.CommandText="use ASP; GO insert into tb_user(UserName,Upwd,Utel) values('',1,1)" 这样试试
挨踢直男 2014-03-28
  • 打赏
  • 举报
回复
Cmd.CommandText="use ASP; GO insert into tb_user(UserName,Upwd,Utel) values(,1,1)" 这个insert 语句有问题啊
ViewerP 2014-03-28
  • 打赏
  • 举报
回复
引用 2 楼 aspwebchh 的回复:
Cmd.CommandText="use ASP; GO insert into tb_user(UserName,Upwd,Utel) values('',1,1)" 这样试试
values参数不是不是和tb_user(UserName,Upwd,Utel)里的列名对应的 写入的 值么?还是什么别的?

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧