51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2723|回复: 5
打印 上一主题 下一主题

关于数据库查询中的参数化问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-10-18 08:59:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
select * from VENTURE.VW_RESULT_2000010 where (currency_code = '0' ) and tradedate between '20050301' and '20050310' and branch_code='0210'
对以上sql语句要实现参数化该怎么办?
我知道如果where后面只有branch_code='0210'一个条件时可以用
pre = "select * from VENTURE.VW_RESULT_2000010 where branch_code= ";
id =0210;
strQuery = pre & id;
但是现在后面有好几个条件,如果要把20050301,20050310与0210一起都参数化,该怎么办呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2005-10-18 10:58:44 | 只看该作者
既然可以设一个变量id,为何不试试设多个变量代替其余参数啊?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2005-10-18 12:54:15 | 只看该作者
我也是这么想,但是不知道用什么格式排列才能运行正确。。难道要用&aa&bb&cc这样的格式吗?可是程序怎么知道这些参数的一一对应关系呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-10-18 13:34:32 | 只看该作者
方法多啊,如果你需要参数化的数据不多,意思是说,比如 "id =0210"就用一次或少数次,你就直接写:

parameter1=20050301;
parameter2=20050310;
parameter3=0210;

sqlstr="select * from VENTURE.VW_RESULT_2000010 where currency_code = '0' ) and tradedate between '" &parameter1& "' and '"&parameter2& "' and branch_code='"&parameter3& "'";

.....
例如:
db_execute_query ( session_name, sqlstr, record_number );
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-10-18 13:35:53 | 只看该作者
如果次数很多,你可以利用数据驱动来完成,基本上就是从xls里读出3个参数即可
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2005-10-18 18:43:13 | 只看该作者
谢谢楼上啊!!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 08:47 , Processed in 0.060305 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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