特急加急,asp写入sql数据库失败?

来源:百度知道 编辑:UC知道 时间:2024/05/11 04:49:23
特急加急,asp写入sql数据库失败?
<%
set rs=server.createobject("adodb.recordset")
set cn=server.createobject("adodb.connection")
cn.open "dsn=master;uid=sa;pwd="
sql="select 同学会,大聚会 from 用户留言"
rs.open sql,cn,1,3
rs.addnew
rs("同学会")=server.htmlencode(request("tongxuehui"))
rs("大聚会")=server.htmlencode(request("dajuhui"))
rs.update
response.write "添加成功"
%>

我只写入同学会,大聚会数据,为什么错误提示:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E2F)
[Microsoft][ODBC SQL Server Driver][SQL Server]无法将 NULL 值插入列 '留言编号',表 'master.dbo.用户留言';该列不允许空值。INSERT 失败。
/22.asp, 第 10 行

怎么办怎么办啊,留言编号要作主键,又不允许为空,这下找麻烦了,高手怎么办啊!

我的是sql数据库啊,不是access数据库啊,数据类型里找不到自动编号啊,怎么办啊?????????????????

黑客SQL服务器入侵实战演习(二)

3.1为什么使用的是' or 1=1--呢?

让我们来看看其他例子中使用'or 1=1--的重要性吧。有别于正常的登陆方式,使用这样的登陆方式可能得到正常登陆中不能得到的某些特殊信息。用一个链接中得到的ASP页来打比方:

http://duck/index.asp?category=food

在上面这条URL中,'category'是一个变量名,而'food'是赋予该变量的值。为了做到这些(链接成功),

这个ASP必须包含以下相关的代码(下面也是我们为了演示这个实验所写的代码):

v_cat = request("category)

& v_cat & "'

set rs=conn.execute(sqlstr)

正如我们所看到的,变量值将会预先处理然后赋值于'v_cat',也就是说该SQL语句将会变为:

SELECT * FROM product WHERE PCategory='food'

这个请求将会返回通过WHERE条件比较后得到的结果,在这个例子中也就是'food'了。现在设想一下如果

我们把该URL改成这样的话:

http://duck/index.asp?category=food' or 1=1--