我想给一条刚刚存入数据库的记录补充内容,sql语句该怎么写?

时间:2022-04-28 23:23:57
如题,我除了知道这条记录是最近一条存入数据库(也就是它的id值应该最大)的以外,其他什么条件都不知道,这种情况下可能实现补充内容吗?如果可能,sql语句怎么写?

11 个解决方案

#1


不一定,如果你刚存完别人也插了一条记录呢?你的ID就不一定最大了.

#2


说的再清楚一些,就是我在做一个向数据库中添加文件的一个页面,在添加完毕文件内容和一些相关内容内容后,显示一个页面,可以上传一个图片,选定图片,并点击“ok”之后,执行一段程序,将有关图片的信息补充到和刚才存放文件信息的那条记录中去。

#3


如果你确定你加入的是最新的,可以在后面加一句

sql="update tablename set aaa='aaa' where id=(select top 1 id from tablename order by id desc)"

Objconn.Execute(sql)

#4


试试看
select * from tablename order by id desc
取出记录后就可以补充了

#5


可以这样,先取得最大的一个数字,然后负值给一个变量,然后追加数据,在修改数据OK了
sql="select max(id)as id from XXX"
.....
max=rs(id)

这个就是取得了最大的数据,同时插入
rs.addnew
。。。。。。

然后关闭数据库,这个时候在从打开一下
那么这个时候的sql这样写了
sql="select *from XXX where id="&max
在修改数据库就可以了

#6


哦,前面少了一个
max=max+1
这样就是确保了最大的,也是 最新你要加入的数据了

#7


不行吧,我觉得gshope(gshope)说的有道理
我想可以用如下方法实现你的目的:
(1)不就想将数据和图片分开上传嘛,可以这样,先添加数据,添加完数据之后,自动返回到列表页面(也就是列出所有记录的页面,一般都是这样),每条记录都有一个添加图片的连接,这样id不就很容易确定了。
(2)采用我以前使用过的上传class,可以同时上传图片和数据,我已经做到,给你该class的地址,你研究研究,如果不会的话,再联系我,我可以给你我成功的源代码。
http://www.5xsoft.com/data/200104/2822340301.htm

#8


枕头说的很有道理,我准备试一下,这种方法我在做一个查询系统是也用过,怎么就忘了呢!!!我觉得我有点太依赖这里了,遇到问题就先来问,然后等答案。实在等不到就自己想,太懒惰了。

#9


在执行完INSERT 语句后用
SQL = "select @@identity as maxid
'@@identity函数返回最近一次插入数据的列值
Rs.Open SQL,Connect,3,1
maxid = Rs("maxid")
记住maxid
再用Update 语句对该条记录更新。

#10


sql="update tablename set aaa='aaa',bbb='bbb' where id=abc"

#11


我最后采用了枕头老兄说的第一种办法,写了这样的代码:<% i=0 %>
<% while i<5 and not rrs.eof%>
<tr>
<td><%=rrs("title")%>&nbsp;</td>
<td> <a href="c.asp? id=<%=rrs("id")%>">  删除</a>&nbsp;</td>
<td>  <form name="mainForm" enctype="multipart/form-data"action="process.asp" method=post> 
<input type=file name=mefile><br> 
<input type=submit name=ok value="OK"> 
</form> 
</td>
</tr>
<%rrs.movenext%>
<%i=i+1%>
<%wend%>
可是我用了几种方法都无法将rrs(“id”)传递给process.asp.
怎么办?

#1


不一定,如果你刚存完别人也插了一条记录呢?你的ID就不一定最大了.

#2


说的再清楚一些,就是我在做一个向数据库中添加文件的一个页面,在添加完毕文件内容和一些相关内容内容后,显示一个页面,可以上传一个图片,选定图片,并点击“ok”之后,执行一段程序,将有关图片的信息补充到和刚才存放文件信息的那条记录中去。

#3


如果你确定你加入的是最新的,可以在后面加一句

sql="update tablename set aaa='aaa' where id=(select top 1 id from tablename order by id desc)"

Objconn.Execute(sql)

#4


试试看
select * from tablename order by id desc
取出记录后就可以补充了

#5


可以这样,先取得最大的一个数字,然后负值给一个变量,然后追加数据,在修改数据OK了
sql="select max(id)as id from XXX"
.....
max=rs(id)

这个就是取得了最大的数据,同时插入
rs.addnew
。。。。。。

然后关闭数据库,这个时候在从打开一下
那么这个时候的sql这样写了
sql="select *from XXX where id="&max
在修改数据库就可以了

#6


哦,前面少了一个
max=max+1
这样就是确保了最大的,也是 最新你要加入的数据了

#7


不行吧,我觉得gshope(gshope)说的有道理
我想可以用如下方法实现你的目的:
(1)不就想将数据和图片分开上传嘛,可以这样,先添加数据,添加完数据之后,自动返回到列表页面(也就是列出所有记录的页面,一般都是这样),每条记录都有一个添加图片的连接,这样id不就很容易确定了。
(2)采用我以前使用过的上传class,可以同时上传图片和数据,我已经做到,给你该class的地址,你研究研究,如果不会的话,再联系我,我可以给你我成功的源代码。
http://www.5xsoft.com/data/200104/2822340301.htm

#8


枕头说的很有道理,我准备试一下,这种方法我在做一个查询系统是也用过,怎么就忘了呢!!!我觉得我有点太依赖这里了,遇到问题就先来问,然后等答案。实在等不到就自己想,太懒惰了。

#9


在执行完INSERT 语句后用
SQL = "select @@identity as maxid
'@@identity函数返回最近一次插入数据的列值
Rs.Open SQL,Connect,3,1
maxid = Rs("maxid")
记住maxid
再用Update 语句对该条记录更新。

#10


sql="update tablename set aaa='aaa',bbb='bbb' where id=abc"

#11


我最后采用了枕头老兄说的第一种办法,写了这样的代码:<% i=0 %>
<% while i<5 and not rrs.eof%>
<tr>
<td><%=rrs("title")%>&nbsp;</td>
<td> <a href="c.asp? id=<%=rrs("id")%>">  删除</a>&nbsp;</td>
<td>  <form name="mainForm" enctype="multipart/form-data"action="process.asp" method=post> 
<input type=file name=mefile><br> 
<input type=submit name=ok value="OK"> 
</form> 
</td>
</tr>
<%rrs.movenext%>
<%i=i+1%>
<%wend%>
可是我用了几种方法都无法将rrs(“id”)传递给process.asp.
怎么办?