起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 263|回复: 10

关于数据集SQL参数的问题

[复制链接]
发表于 2008-5-22 10:45:36 | 显示全部楼层 |阅读模式
环境:x3 2619, oracle 9i

SQL:select 'a' from duall where 1 in (: p)

参数:p为字符串类型

当我想SQL为select 'a' from duall where 1 in ('a') 时,需要给p赋值为'a',而不是'''a''',因为它会自动给我加上单引号

而当我想SQL为select 'a' from duall where 1 in ('a','b') 时,不知该为p赋什么值了。如果赋值'a,b',按理它会变为'''a,b''';如果赋值'''a'',''b''',按理它会变为'''''a'',''b''''';我也尝试过赋值'a'',''b',但也得不到我想要的结果

请问,是否我可以将p定义为非字符串类型,让它不自动加单引号
回复

使用道具 举报

发表于 2008-5-22 11:21:07 | 显示全部楼层
那你就别用参数,直接在sql语句上写看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 13:19:04 | 显示全部楼层
我的SQL几十行呢,很复杂,不希望程序的可读性那么差
回复 支持 反对

使用道具 举报

发表于 2008-5-22 13:30:17 | 显示全部楼层
lStr := '''11''' + ',' + '''44''';
Query1.CommandText := ' select * from a where spbh in ('+lstr+')';
这样子用是可以的。这个也不会影响可读性吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 13:41:30 | 显示全部楼层
代码里面维护SQL,和属性中维护的可读性肯定是不一样的

我现在不是简简单单的解决我现有的问题,而且我想更了解数据集的参数
回复 支持 反对

使用道具 举报

发表于 2008-5-22 13:53:03 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 14:25:18 | 显示全部楼层
看了那个帖子,我试了一下,不成功,SQL:select * from table_targetdef d
where d.ftargetdefcode like '%|FDL|SWDL|%'

没有达到预期效果,请帮忙看一下是否书写有问题
回复 支持 反对

使用道具 举报

发表于 2008-5-22 16:07:37 | 显示全部楼层
写反了吧,你再看看。
回复 支持 反对

使用道具 举报

发表于 2008-5-30 15:11:58 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

发表于 2008-6-2 08:47:57 | 显示全部楼层
楼主还有问题吗?不反馈我结贴了:)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-17 20:37 , Processed in 0.041521 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表