asp程序里,if(..)then里的插入为啥就没效果

sql="SELECTDeptIDFROMDepartmentWhereDeptName='"&sdeptname&"'"setrs227=conn227.Execute... sql="SELECT DeptID FROM Department Where DeptName = '"&sdeptname&"'"
set rs227 = conn227.Execute(sql)
if(rs227.RecordCount > 0) then
conn.Execute("INSERT INTO DeptContrast(DeptID,FormalDeptID) VALUES(1100,1200)")
else
response.Write("木有啊")
end if
-------------------------------------------------------------------------------
then里面的这句执行后,没有新插入记录,执行了,但是数据库没数据" conn.Execute("INSERT INTO DeptContrast(DeptID,FormalDeptID) VALUES(1100,1200)")"。
而当我把这句放在最外面,就是不放在判断里的时候,执行后可以插入新纪录,如下:
--------------------------------------------------------------------------------
sql="SELECT DeptID FROM Department Where DeptName = '"&sdeptname&"'"
set rs227 = conn227.Execute(sql)
//不再if里的时候,可以插入记录
conn.Execute("INSERT INTO DeptContrast(DeptID,FormalDeptID) VALUES(1100,1200)")
----------------------------------------------------------------------------
请问原始的放在if then里的插入为啥就没效果
括号去掉没有用,试了。我把改成 if not rss227.eof then 里面的就可以插入了
展开
 我来答
flasharrow2001
2012-03-23 · TA获得超过337个赞
知道小有建树答主
回答量:175
采纳率:0%
帮助的人:162万
展开全部
没注意看你上面用的是conn.execute 后得到的 recordcount只能是-1
用rs227.open sql,conn,1,1
这样才能得到记录数
菲菲说回收
2012-03-23 · TA获得超过142个赞
知道小有建树答主
回答量:158
采纳率:80%
帮助的人:32.1万
展开全部
sql="SELECT DeptID FROM Department Where DeptName = '"&sdeptname&"'"
set rs227 = server.createobject("adodb.recordset")
rs227.Open sql,conn,1,3
if(rs227.RecordCount > 0) then
conn.Execute("INSERT INTO DeptContrast(DeptID,FormalDeptID) VALUES(1100,1200)")
else
response.Write("木有啊")
end if
这样写就行了,你那样写的话主要是rs227.RecordCount的值为-1,条件不成立,所以就无法执行!希望能够帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式