sql server数据库 无法使用addnew

mysite365 2009-09-14 11:50:24

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="../../conn/conn.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>addnew测试</title>
</head>

<body>
<%
set rs=server.CreateObject ("adodb.recordset")
sql="select * from corporation "
rs.open sql,conn,1,3
rs.addnew
rs("user")="222222222222"
rs("name")="3333333333333333"
rs.update
id=rs("id")
response.Write id
response.Write "999999999999"
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</body>
</html>


问题: 没有插入成功,无法得到id的值
后面的“9999999999”可以得到
...全文
325 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
quweiie 2009-09-19
  • 打赏
  • 举报
回复
33楼说的对!
number123456 2009-09-18
  • 打赏
  • 举报
回复
SQL2000 不支持.update后,直接rs输出
SQL2005 支持
mysite365 2009-09-18
  • 打赏
  • 举报
回复
爱。还是没解决。。。。。。。。
mysite365 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 cosler 的回复:]
设了主键,
rs.update后
才能直接取值
xxx=rs("id")
要不然
xxx=rs("id")
取不取值。
[/Quote]
不知道为什么,rs.update后 ,不能直接取之
access 可以,sql server不知道怎么也不行。。
黑心 2009-09-15
  • 打赏
  • 举报
回复
设了主键,
rs.update后
才能直接取值
xxx=rs("id")
要不然
xxx=rs("id")
取不取值。
黑心 2009-09-15
  • 打赏
  • 举报
回复


ID要设成自动加1 和 主键

关键是这个 主键 ,
三楼の郎 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 mysite365 的回复:]
fields(0).name=ID
fields(1).name=User
fields(2).name=Pass
fields(3).name=Question
fields(4).name=Answer
fields(5).name=tm
fields(6).name=Qymc
fields(7).name=Qylb
fields(8).name=Frdb
fields(9).name=Zycp
fields(10).name=Qyjj
fields(11).name=Country
fields(12).name=Sf
fields(13).name=City
fields(14).name=County
fields(15).name=Post
fields(16).name=Address
fields(17).name=Phone
fields(18).name=Fax
fields(19).name=mobile
fields(20).name=Email
fields(21).name=Web
...............
[/Quote]
那你就像这样直接用索引就好了,索引和字段的对应关系就是上面列出来的
rs.fields(1)="222222222222" 'user
rs.fields(2)="3333333333333333" 'pass
rs.fields(3)="……" 'question
rs.fields(4)="……" 'answer
mysite365 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 citybird 的回复:]
set rs=server.CreateObject ("adodb.recordset")
sql="select * from Websen_corporation"
rs.open sql,conn,1,3
for xx=0 to rs.fields.count-1
response.write("fields("& xx &").name="& rs.fields(xx).name & " <br>")
next
rs.close
set rs=nothing
conn.close
set conn=nothing
response.end

或者你把上面这段代码拿过去替换顶楼 <body> </body>之间的代码,看看运行后输出的字段名究竟啥样的
[/Quote]
fields(0).name=ID
fields(1).name=User
fields(2).name=Pass
fields(3).name=Question
fields(4).name=Answer
fields(5).name=tm
fields(6).name=Qymc
fields(7).name=Qylb
fields(8).name=Frdb
fields(9).name=Zycp
fields(10).name=Qyjj
fields(11).name=Country
fields(12).name=Sf
fields(13).name=City
fields(14).name=County
fields(15).name=Post
fields(16).name=Address
fields(17).name=Phone
fields(18).name=Fax
fields(19).name=mobile
fields(20).name=Email
fields(21).name=Web
...............
tianlebest 2009-09-15
  • 打赏
  • 举报
回复
把sql写成

sql="select top 1 * from Websen_corporation" 试试
wzsyou 2009-09-14
  • 打赏
  • 举报
回复
我觉得是你数据库没有设置黓认值,域者自动标识(ID自动递增)
sy_binbin 2009-09-14
  • 打赏
  • 举报
回复
on error resume next
这段代码给屏蔽掉看看错误信息是什么
zhanshanhu 2009-09-14
  • 打赏
  • 举报
回复
你的数据应该已经写入数据库了 只不过你
id=rs("id")
这句有问题,如果你数据库中没有数据 那么rs("id")就是空值,如果有数据那这个id也不是你刚插入这条语句的id。
mysite365 2009-09-14
  • 打赏
  • 举报
回复

Const SqlDatabaseName="123456" 'SQL数据库的名称,zgsgw
Const SqlUsername="123456" 'SQL数据库的登陆名
Const SqlPassword="123456" 'SQL数据库的登陆密码
Const SqlLocalName="localhost" 'SQL数据库所在的服务器名

Const isSession=0 '1表示使用session 验证;0表示使用cookies 验证

Const time_score=180 '后台允许操作期限(分钟)
ConnStr="driver={SQL Server};server="&SqlLocalName&";uid="&SqlUsername&";pwd="&SqlPassword&";database="&SqlDatabaseName&";"
on error resume next
Set conn = Server.CreateObject("ADODB.Connection")
conn.commandtimeout=20
conn.open ConnStr
sy_binbin 2009-09-14
  • 打赏
  • 举报
回复
conn.asp的代码贴一下看看
wzsyou 2009-09-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 mysite365 的回复:]
在sql server 数据库里有个字段 为[user]  还修改不了为user!!
这样写:
rs.addnew
rs("[user]")="11111111"
rs("Answer")="222222222222"
rs("name")="3333333333333333"
rs.update
提示:
ADODB.Recordset 错误 '800a0cc1'

在对应所需名称或序数的集合中,未找到项目。

这样写:
rs.addnew
rs("user")="11111111"
rs("Answer")="222222222222"
rs("name")="3333333333333333"
rs.update

提示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'User' 附近有语法错误。

[/Quote]


sql="select [user],[name],...... from corporation "
rs.open ***
rs.addnew
rs("user")="11111111"
rs("Answer")="222222222222"
rs("name")="3333333333333333"
rs.update


这样呢?
toury 2009-09-14
  • 打赏
  • 举报
回复
别ADDNEW了,用INSERT INTO

<%
user="22222222222"
name="3333333333333333"
sql="INSERT INTO [corporation]([user],[name]) VALUES('"&user&"','"&name&"')"
conn.execute(sql)
id=conn.execute("SELECT LAST(id) FROM [corporation]")(0)
response.Write id
response.Write "999999999999"
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

三楼の郎 2009-09-14
  • 打赏
  • 举报
回复
set rs=server.CreateObject ("adodb.recordset")
sql="select * from Websen_corporation"
rs.open sql,conn,1,3
for xx=0 to rs.fields.count-1
response.write("fields("& xx &").name="& rs.fields(xx).name & "<br>")
next
rs.close
set rs=nothing
conn.close
set conn=nothing
response.end

或者你把上面这段代码拿过去替换顶楼<body></body>之间的代码,看看运行后输出的字段名究竟啥样的
gxq323 2009-09-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 mysite365 的回复:]
VBScript codeset rs=server.CreateObject ("adodb.recordset")
sql="select * from corporation"
rs.open sql,conn,1,3
rs.addnew
rs("user")="222222222222"
rs("name")="3333333333333333"
rs.update
id=rs("id")¡­
[/Quote]好像access才能这样用吧,
三楼の郎 2009-09-14
  • 打赏
  • 举报
回复
那你就直接用索引,不要用字段名好了,注意字段的排列顺序。

或者把表结构贴出来大家看看
mysite365 2009-09-14
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 citybird 的回复:]
sql="select * from corporation "
rs.open sql,conn,1,3
rs.addnew
rs("user")="222222222222"
rs("name")="3333333333333333"
这里改成
sql="select id,[user] as u1,[name] as n1 from corporation where 0=1"
rs.addnew
rs.fields("u1")="222222222222"
rs.fields("n1")="3333333333333333"
试试
[/Quote]

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'User' 附近有语法错误。
加载更多回复(14)

28,391

社区成员

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

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