小妹向大家求救!!asp中判断sql数据库表记录的一个字段的值?

xm_44 2001-07-25 11:27:27
我已获得我要查询的记录,我要判此记录的一个(一位char型)字段C的值,
如果为1,就显示此记录的A字段的值,
否则,显示此记录的B字段的值
set conn = Server.CreateObject("ADODB.Connection") conn.open "mydsn","sa","3067"
set rs=server.createobject("ADODB.Recordset")
sql="select ksh,kszt,lqzy,tdyydm from T_tjsxxk where ksh="&kaoshenghao&""
rs.open sql,conn,3
kszt=rs("kszt")
if (kszt="1")(为什么我运行程序时它老是报这行有错??? )
then response.write"..."
...全文
137 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sgq_hit 2001-07-31
if .... then
end if
回复
ExitWindows 2001-07-29
gz
回复
yzflying 2001-07-28
我也有过这样的问题,if 和then 要在一行,输出语句换行写。
回复
i_need_mana 2001-07-28
小妹,能告诉我,你最后选得是哪一位吗?
回复
ljty 2001-07-26
if not re.eof then
if kszt="1" then
...
end if
...
end if
回复
qinli 2001-07-26
我认为在If语句之前,先判断rs.eof,否则可能会因为记录是空,同时记录的字段属性也很重要,在access2000里做的老是在调用的时候出错,在access97里的到是没有问题。
回复
乱码 2001-07-26
妹妹力量大
回复
i_need_mana 2001-07-26

你试一试,一定能行!(给分!)



回复
i_need_mana 2001-07-26
简单:
select 'fldneeded'=case when c='1' then A else B end from table
回复
freezwy 2001-07-25
char类型是强制以你规定的长度来填充数据库空间的。
比如,你定义一个字段为
姓名 char(5)
如果姓名为“1”,那么存储时就在后面增加了空格,这个是系统自动加的。
解决办法,一般不是固定长度的,用varchar类型的。
处理取出数值时一定要用去除空格的函数。
trim()
所以你的问题就是:
if trim(rs("kszt"))="1" then
....
end if
回复
gq 2001-07-25
if kszt="1" then
This is vbscript.
回复
Netis_Sun 2001-07-25
kszt=rs("kszt")&""
回复
eastliangliang 2001-07-25
楼顶说的对,如果程序没贴错的话。应该把错误提示贴出来。
回复
qrhome 2001-07-25
我觉得:rs.open应该打开的是一个记录集,所以它可能包含多条记录(如果你的‘ksh’不是主键的话),而且rs有可能为空(无符合条件的记录),所以也应该判断一下rs是否不为空;在判断时应该用循环语句。试试把判断语句加在循环语句中。
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2001-07-25 11:27
社区公告
暂无公告