标题:[求助]IF 条件语句
只看楼主
Angel198328
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-8-4
 问题点数:0 回复次数:4 
[求助]IF 条件语句

<%

if Hos_Name<>""then

'判断客户资料表中是否有重复资料

sql="select * from 客户资料表 where 医院名称="&Hos_Name&""
set rs=server.createobject("adodb.recordset")
rs.open sql,connstr,1,3



if rs.eof=true then '如果指针到达最后一行,没有找到记录就

sql="select * from 客户资料表" '添加新记录
set newrs=server.createobject("adodb.recordset")
newrs.open sql,connstr,1,3
newrs.addnew

newrs("医院名称")=Hos_Name
newrs("医院编号")=Hos_Num

newrs("医院类别")=Be_Sex
newrs("客户类别")=KH_Sex

newrs("省份")=Province
newrs("城市")=City
newrs("地址")=Address

newrs("邮政编码")=Postal

newrs("专科负责人")=Pro_admin
newrs("专科电话")=Pro_Phone

newrs("眼科负责人")=Eyes_admin
newrs("眼科电话")=Eyes_Phone

newrs("设备科负责人")=EQ_admin
newrs("设备科电话")=EQ_Phone

newrs("院长")=Admin
newrs("院长电话")=Admin_Phone

newrs.update
newrs.close


else '否则就修改此记录

rs("医院类别")=Be_Sex
rs("客户类别")=KH_Sex

rs("省份")=Province
rs("城市")=City
rs("地址")=Address

rs("邮政编码")=Postal

rs("专科负责人")=Pro_admin
rs("专科电话")=Pro_Phone

rs("眼科负责人")=Eyes_admin
rs("眼科电话")=Eyes_Phone

rs("设备科负责人")=EQ_admin
rs("设备科电话")=EQ_Phone

rs("院长")=Admin
rs("院长电话")=Admin_Phone


rs.update
rs.close

end if
end if
%>

我想大家应该已经明白我的意思了!
现在我的问题是这样的,当记录不重复的时候,添加新记录的操作是正常的

但是当记录重复的时候,SQL并不修改该重复记录
而是继续添加了一个新的记录

请问大家问题出在哪里呢?我改如何修改呢?
谢谢大家

搜索更多相关主题的帖子: 语句 条件 客户 sql 
2006-08-14 16:38
Angel198328
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-8-4
得分:0 
还有5分钟就下班了!要是今天没来得及感谢弯曲的直线
以及各位同人!那么就明天一早上来写感谢信吧!
在此致歉了

潮淹没了昔日的足迹; 风吹散了昨日的泪; 未来大道,谁与我同行?
2006-08-14 16:53
做人很低调
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1268
专家分:0
注 册:2006-8-2
得分:0 

又看了一便 感觉没有逻辑上的错误
你把判断换成 if rs.eof and rs.bof then 看看
按你所说的 不管记录重不重复都执行的插入操作
那问题就可能出在你的判断语句上

自己检查一下错误 能添加记录 不能更新记录
就说明前面的代码没有错误 主要检查 更新记录的那写代码
有时候问题就是这样很轻松的解决

[此贴子已经被作者于2006-8-14 19:26:17编辑过]


其实我很低调,只是你不知道...
2006-08-14 17:11
做人很低调
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1268
专家分:0
注 册:2006-8-2
得分:0 

如果你表中医院名称字段是字符串类型就把这句
sql="select * from 客户资料表 where 医院名称="&Hos_Name&""
改成
sql="select * from 客户资料表 where 医院名称='"&Hos_Name&"'"
象表名和字段名最好用英文 不要用汉字

再吧if rs.eof=true then 这句
改成 if rs.eof and rs.bof then 试试看
还不能执行的话我也无语了... 等明天上班给你调一下吧


其实我很低调,只是你不知道...
2006-08-14 20:16
弯曲的直线
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-7-21
得分:0 
应该没错,不行改成elseif not rs.eof

上论坛感觉就象和人拼贴子
2006-08-15 11:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-83914-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.107020 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved