如何写满足条件的插入语句?

lff88 2005-07-09 09:04:12
最近学着写满足条件的数据录入动态页面:页面表单中有三个文本框和一个提交按钮文本框text1、text2、text3和数据库表tb_ff的字段1、字段2、字段3对应,当录完数据按提交按钮后判断text1、text2中的数是否在字段1、字段2中同时存在,若不存在则完成插入工作,否则给出提示框“该数据已存在”,确认后返回数据录入动态页面。由干我刚开始学ASP故一直未写出这动态页面,后经朋友介绍来本论坛求助各位前辈,能否给出这种页面代码?望各前辈给我这新手多多支持和关心。谢谢!!
...全文
295 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
游陆 2005-07-15
  • 打赏
  • 举报
回复
set rs=server.createobject("adodb.recordset")
sql="select * from tb_ff where 字段1='"& text1 &"' and 字段2='"& text2 &"'"
rs.open sql,conn,1,3
if not rs.eof then
response.write("<script>alert('该数据已存在');history.go(-1);</script>")
response.end
else
rs.addnew
rs("字段1")=request.form("text1")
rs("字段2")=request.form("text3")
rs("字段3")=request.form("text2")
rs.update
end if
chang1216 2005-07-14
  • 打赏
  • 举报
回复
来晚了
lff88 2005-07-14
  • 打赏
  • 举报
回复
纠正:错误代码是2627
lff88 2005-07-14
  • 打赏
  • 举报
回复
lonaerd(redhat10) ( ):
你的思路很好,谢谢!我的数据库为sql server2000,不满足唯一性时数据库给出错误代码是2672,但代入<%if err.number=2672 then
response.write "<script language='javascript'>"
response.write "alert('记录已经存在!请检查!');"
response.write "history.go(-1);"
response.write "</script>"
end if%>
程序未判断出,不知是否是代码有问题?还望各前辈给我这新手多多支持和关心。谢谢!!
srljp 2005-07-14
  • 打赏
  • 举报
回复
把字段1、字段2设为主键,则当出现不满足唯一性时数据库会给出错误代码,根据错误代码给出提示即可。
lff88 2005-07-13
  • 打赏
  • 举报
回复
set rs=server.createobject("adodb.recordset")
sql="selecr * from table where 字段1='"& text1 &"' and 字段2='"& text2 &"'" and 字段3='"& text3 &"'"
rs.open sql,conn,1,1
if rs.eof then
response.write "不存在"
else
response.write "存在"
end if
rs.close
wangyingdong 2005-07-09
  • 打赏
  • 举报
回复
set rs=server.createobject("adodb.recordset")
sql="select * from tb_ff where 字段1='"& text1 &"' and 字段2='"& text2 &"'"
rs.open sql,conn,1,3
if not (rs.bof and rs.eof) then '检查内容是否存在,
response.write "<script>alert('该数据已存在');history.go(-1);</script>"
response.end
else
rs.addnew
....
rs.update
end if

lonaerd 2005-07-09
  • 打赏
  • 举报
回复
最简单的方法:把数据库中表里的那两个字段定义成组合主键,即满足a1+a1是唯一性。

然后,在写入的时候,ASP如下:
on error resume next

插入数据。。。。。

if err.number=-2147217900 then
response.write "<script language='javascript'>"
response.write "alert('记录已经存在!请检查!');"
response.write "history.go(-1);"
response.write "</script>"
end if

这样就避免你再去数据库去比较是否存在,影响效率
qiaotj2000 2005-07-09
  • 打赏
  • 举报
回复
rs.addnew
rs("字段1")=request.form("text1")
rs("字段2")=request.form("text3")
rs("字段3")=request.form("text2")
rs.update
etou 2005-07-09
  • 打赏
  • 举报
回复
<!--#include virtual="conn.asp"-->
<%
if request("submit")="提交" then
text1=request("text1")
text2=request("text2")
text3=request("text3")

set rs1=cn.execute("select t1 from tb_ff ")
if rs1.eof then
cn.execute"Insert Into tb_ff(t1,t2,t3) Values('"&text1&"','"&text2&"','"&text3&"')"

else
set rs=cn.execute("select * from tb_ff where t1='"&text1&"' and t2='"&text2&"' ")
if rs.eof then
cn.execute"Insert Into tb_ff(t1,t2,t3) Values('"&text1&"','"&text2&"','"&text3&"')"

else
Response.Write "<script language=javascript>"
Response.Write "window.alert('数据已存在');"
Response.Write "window.location='text.asp';"
Response.Write "</script>"
end if
end if
end if
%>
menrock 2005-07-09
  • 打赏
  • 举报
回复
set rs=server.createobject("adodb.recordset")
sql="select * from tb_ff where 字段1='"& text1 &"' and 字段2='"& text2 &"'"
rs.open sql,conn,1,3
if not rs.eof then
response.write("<script>alert('该数据已存在');history.go(-1);</script>")
response.end
else
rs.addnew
....
end if

28,406

社区成员

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

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