if NOT IsArray(Temp) 怎么没用?

lius1984 2009-01-09 12:05:14
我在提交表单时要做判断,若没数据则添加,有数据就编辑。但现在提交编辑 还是把重复的数据写进表里了。 大家看看我的代码 有啥问题吗?谢谢了!


Dim TempSQL
Set Rst=Server.CreateObject("Adodb.Recordset")
TempSQL="Select Sn,Channel_Id,Alarm_Type,Alarm_TelGroup From T_Alarm Where Sn='"&Tmp6(1,0)&"' And Channel_Id="&Channel_Id

If Not IsArray(TempSQL) Then
Rst.Open TempSQL,Conn,1,3
Rst.AddNew
Rst("Sn")=Tmp6(1,0)
Rst("Channel_Id")=Channel_Id
Rst("Alarm_Type")=Alarm_Type
Rst("Alarm_TelGroup")=Alarm_Tel
Rst.Update()

Else

Rst.Open TempSQL,Conn,1,3
Rst("Alarm_Type")=Alarm_Type
Rst("Alarm_TelGroup")=Alarm_Tel
Rst.Update()

End If

SysMsg="报警设置成功!"


...全文
138 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lius1984 2009-01-10
  • 打赏
  • 举报
回复
困扰我两天的问题在大家帮助下终于解决了,谢谢大伙! 结贴给分
lius1984 2009-01-09
  • 打赏
  • 举报
回复
奇怪,第一次编辑会重复添加,但再次编辑就不会添加了。。
cao_love 2009-01-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 huyingcheng 的回复:]
是不是应该这样

VBScript code
Dim TempSQL
Set Rst=Server.CreateObject("Adodb.Recordset")
TempSQL="Select Sn,Channel_Id,Alarm_Type,Alarm_TelGroup From T_Alarm Where Sn='"&Tmp6(1,0)&"' And Channel_Id="&Channel_Id
set Rst=conn.execute(TempSQL)
if not Rst.eof then TempSQL=Rst.getrows '如果记录集不为空,将记录集赋给一个数组
set Rst=nothing

If Not IsArray(TempSQL) Then '判断是否数组
Rst.O…
[/Quote]
嗯!学习
swhrzl 2009-01-09
  • 打赏
  • 举报
回复
Dim TempSQL
Set Rst=Server.CreateObject("Adodb.Recordset")
TempSQL="Select Sn,Channel_Id,Alarm_Type,Alarm_TelGroup From T_Alarm Where Sn='"&Tmp6(1,0)&"' And Channel_Id="&Channel_Id
Rst.Open TempSQL,Conn,1,3

If Rst.eof Then
Rst.AddNew
Rst("Sn")=Tmp6(1,0)
Rst("Channel_Id")=Channel_Id
Rst("Alarm_Type")=Alarm_Type
Rst("Alarm_TelGroup")=Alarm_Tel
Rst.Update()
Else
Rst("Alarm_Type")=Alarm_Type
Rst("Alarm_TelGroup")=Alarm_Tel
Rst.Update()
End If

SysMsg="报警设置成功!"
半山闲人 2009-01-09
  • 打赏
  • 举报
回复
是不是应该这样

Dim TempSQL
Set Rst=Server.CreateObject("Adodb.Recordset")
TempSQL="Select Sn,Channel_Id,Alarm_Type,Alarm_TelGroup From T_Alarm Where Sn='"&Tmp6(1,0)&"' And Channel_Id="&Channel_Id
set Rst=conn.execute(TempSQL)
if not Rst.eof then TempSQL=Rst.getrows '如果记录集不为空,将记录集赋给一个数组
set Rst=nothing

If Not IsArray(TempSQL) Then '判断是否数组
Rst.Open TempSQL,Conn,1,3
Rst.AddNew
Rst("Sn")=Tmp6(1,0)
Rst("Channel_Id")=Channel_Id
Rst("Alarm_Type")=Alarm_Type
Rst("Alarm_TelGroup")=Alarm_Tel
Rst.Update()

Else

Rst.Open TempSQL,Conn,1,3
Rst("Alarm_Type")=Alarm_Type
Rst("Alarm_TelGroup")=Alarm_Tel
Rst.Update()

End If

SysMsg="报警设置成功!"

layers2323 2009-01-09
  • 打赏
  • 举报
回复
我靠,就瞧了两分钟,又慢了。
layers2323 2009-01-09
  • 打赏
  • 举报
回复
If Not IsArray(TempSQL) Then ?????
TempSQL是什么?是不是应该为Tmp6 ?
toury 2009-01-09
  • 打赏
  • 举报
回复
If Not IsArray(TempSQL) Then这个判断什么意思?TempSQL肯定是字符串,不可能是数组,还用判断吗?
lius1984 2009-01-09
  • 打赏
  • 举报
回复
还以为是Rst.close没加造成的。 可加了这句后 每次编辑都会添加一条新数据。 晕。谁能帮帮我啊,谢谢!

28,390

社区成员

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

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