将逗号分隔的字符串作为参数传递给数据库

时间:2014-05-05 08:26:37

标签: java sql database sybase

我有一个搜索字段,用于搜索后端sybase中的数据。如果我传递一个参数。它使用调用存储过程SYN_XYZ @param =“abc”搜索数据。 现在,如果我传递两个参数它调用像SYN_XYZ @param =“abc,def”

现在考虑一种情况,即后端数据包含'ab,c'而不是'abc'。如何搜索'ab,c','def'因为sybase会将这个参数视为三个不同的参数,即ab和c和def。

由于

1 个答案:

答案 0 :(得分:1)

简单:不要使用字符串连接。相反,请使用CallableStatementsetString()

你的解决方案非常非常危险。想象一下,攻击者正在搜索"; DELETE FROM USER; COMMIT;