这个sql update 语句该怎么写?

ranner 2005-08-29 06:27:37
数据库是sql server2000, 表table1, 字段分别是 id, name, 1,2,3

现在向表里插入数据,在update时出错,

sql="select * from table1 where id=null"
rs.open sql,conn,1,3
if rs.eof then
rs.addnew
rs("1")=1
rs.update
else
rs("1")=1
rs.update
end if
rs.close


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

[Microsoft][ODBC SQL Server Driver][SQL Server]插入错误: 列名或所提供值的数目与表定义不匹配。

/add.asp,行12

问题就出在表的字段名是 1,2 这样的数字上面,不知对于这样的字段名该如何写update语句,请指点

...全文
156 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxxzf 2005-08-30
  • 打赏
  • 举报
回复
判斷為NULL不能用=NULL
要用 is null
iwl 2005-08-30
  • 打赏
  • 举报
回复
sql="select * from table1 where id=null"错误
MorningTea 2005-08-29
  • 打赏
  • 举报
回复
3.rs.open sql,conn,1,3,第3个参数等于1就是AdOpenKeyset在多人共用数据库时,若以AdOpenKeyset 模式打开数据表,则无法看到其他人新增的数据记录(除非重新启动)。你的这个参数在你这种更新模式下,似乎不是太好,最好设置为

--漏写了:最好设置为AdOpenDynamic(=2) 可读写,当前数据记录可自由移动,如果是以AdOpenDynamic模式打开数据库,则可以看到其他人新增的数据记录。
MorningTea 2005-08-29
  • 打赏
  • 举报
回复
1. sql="select * from table1 where id=null"
--如果是要判断为null的集合,那么要where id is null

2.如果返回null集合,asp认为是有一笔纪录!这个和什么都没有(0 rows affected)是不一样的
所有id为null的纪录,肯定是可以找出来的

3.rs.open sql,conn,1,3,第3个参数等于1就是AdOpenKeyset在多人共用数据库时,若以AdOpenKeyset 模式打开数据表,则无法看到其他人新增的数据记录(除非重新启动)。你的这个参数在你这种更新模式下,似乎不是太好,最好设置为

4.如果字段名为数字,要加上[]号,就是rs("[1]")=1
你也可以直接用数字来表明第几个字段,加入
rs("[1]")是第2个,你就rs(2)=1即可!不过我不推荐用,因为如果你插入了新的字段,那么这个序号就不对,那么就要修改代码,我们用rs("字段名")比较好,一般,我们不会轻易修改字段名,对不对!
wgsasd311 2005-08-29
  • 打赏
  • 举报
回复
因为列名1不符合标识符命名规则(以字母开或下划线开头),此时应这样表示列:‘[列名]'
把rs("1")改为rs("[1}")
lovcal 2005-08-29
  • 打赏
  • 举报
回复
sql="select * from table1 where id=null" //因为返回null的记录集
rs.open sql,conn,1,3
if rs.eof then
rs.addnew
rs("1")=1
rs.update
else
rs("1")=1 //永远也不会执行,达不到更新的目的
rs.update
end if
rs.close
///////////////////////////////////////
试试:
Dim id
id=你的id
sql="select * from table1 where id='"&id&"'"
rs.open sql,conn,1,3
if not rs.eof then
rs("1")=1
else
rs.addnew
rs("1")=1
end if
rs.update
rs.close
vivianfdlpw 2005-08-29
  • 打赏
  • 举报
回复
在这里is null和=null都返回空集
GRLD8888 2005-08-29
  • 打赏
  • 举报
回复


第一个错误: sql="select * from table1 where id is null"


vivianfdlpw 2005-08-29
  • 打赏
  • 举报
回复
try:
rs("[1]")=1

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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