1
2strusername=trim(Request("username"))
3strSQL = "select * from admin where username='"&strusername&"'"
4strCon = "driver={SQL Server};server=localhost;uid=SA;pwd=123;database=fis" '此句和下面都行!
5strCon = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;pwd=123;Initial Catalog=fis;Data Source=LYT"
6Set con = Server.CreateObject("adodb.connection")
7con.Open(strCon)
8Set rs = Server.CreateObject("adodb.recordset")
9rs.Open strSQL,strcon,adOpenKeyset,adOpenStatic,adCmdText
10If rs.EOF Then
11Response.Write("没有记录")
12Else
13Response.Write(rs("username"))
14strName = "lyt"
15rs.AddNew
16rs("username") = strName
17rs.Update
18End If
以前运行都是正确的现在不知怎么了只要一执行rs.update就出错了,错误如下:
Microsoft OLE DB Provider for SQL Server (0x80040E2F)
/GP_OA_NEW/login/checkpass2.asp, 第 18 行
我以前是SQL7。0现在改用2000怎么也不行,请帮忙!!!!两种连接字符串以前都是可以的!!
---------------------------------------------------------------
admin表中是否有字段不允许为空?
---------------------------------------------------------------
1、rs.Open strSQL,strcon,adOpenKeyset,adOpenStatic,adCmdText
改成:rs.Open strSQL,con,adOpenKeyset,adOpenStatic,adCmdText
2、检查你的数据表admin,查看是否有不允许为NULL的字段,是否有限制长度的字段
3、检查你赋值给rs时,类型是否相符
---------------------------------------------------------------
把rs.Open strSQL,strcon,adOpenKeyset,adOpenStatic,adCmdText改为:
rs.Open strSQL,con,1,3
---------------------------------------------------------------
strCon = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;pwd=123;Initial Catalog=fis;Data Source=LYT"
Set con = Server.CreateObject("adodb.connection")
con.Open(strCon)
sql="update admin set username="&strname&""
set rs=server.createobject("adodb.command")
rs.activeconnection=con
rs.commandtext=sql_hit
rs.execute ,,adexecutenorecords
set rs=nothing
---------------------------------------------------------------
sql_hit改成sql
---------------------------------------------------------------
user_id是不允许为空的是递增的
你的那个user_id是自增变量吧,看看你的sql2000有没有设成自增
---------------------------------------------------------------
男人追女人时像孙子百依百顺;订婚后像儿子学会顶嘴;结婚后像老子发号施令;最后又像兔子一溜了之。