Java 如何通过?在SQL查询中进行部分搜索
在过去的一天里,我一直在与一个sql查询作斗争。我的要求是,我想从用户那里获取值,并且必须通过我的查询Java 如何通过?在SQL查询中进行部分搜索,java,sql,sql-server,Java,Sql,Sql Server,在过去的一天里,我一直在与一个sql查询作斗争。我的要求是,我想从用户那里获取值,并且必须通过我的查询 select * from table1 where column1 like '%healt%' 但是,当我们从客户端或UI端传递变量时,如何使用相同的查询呢 我尝试了使用?、@.进行查询,如下所示 select * from table where column like '%' ?'%' 但什么都没用。我面临的另一个问题是使用OR运算符 当我使用搜索条件时,我希望通过给任何一个字段赋
select * from table1 where column1 like '%healt%'
但是,当我们从客户端或UI端传递变量时,如何使用相同的查询呢
我尝试了使用?、@.进行查询,如下所示
select * from table where column like '%' ?'%'
但什么都没用。我面临的另一个问题是使用OR运算符
当我使用搜索条件时,我希望通过给任何一个字段赋值来显示结果。但在sql中,它要求我传递的所有列
select * from table1 where column1 like ? OR cloumn2 like ?
但是在上面的示例中,SQL server要求我传递column1和column2的值。我希望通过传递任何一列来进行哪些更改以获得结果
请帮我解决这个问题
select * from table where column like '%' + @variable +'%'
还可以将相同的变量作为参数添加到代码中的命令中
select * from table where where col1 like '%' + @test + '%'
我的测试是这样的
我的桌子
我的成绩
程序是这样的
--exec Pr_Test 'healt' --this is your execute SQL
ALTER PROCEDURE [dbo].[Pr_Test]
@yourParam varchar(20),
AS
BEGIN
select * from table where column like '%' + @yourParam + '%'
END
String prName ="call "Pr_Test(?, ?)"
.....
cs.setString(1, "healt")
像这样的java语言
--exec Pr_Test 'healt' --this is your execute SQL
ALTER PROCEDURE [dbo].[Pr_Test]
@yourParam varchar(20),
AS
BEGIN
select * from table where column like '%' + @yourParam + '%'
END
String prName ="call "Pr_Test(?, ?)"
.....
cs.setString(1, "healt")
在客户端/UI端使用SQL参数:
在C或其他代码中创建SqlParameter:
在此之后,将此参数添加到SqlCommand对象中@变量??你是说我的名字?还有一件事,它是否适用于字符串变量?因为它应该使用字符串concatenationNo。我指的是价值。以你为例。如果您使用的是c,那么SQLCommand对象具有Parameters属性。添加一个具有所需值的参数。此@test,@变量表示什么?那么这如何帮助我从客户端或UI端传递值呢?客户端/UI端使用了什么技术?下面是一个如何从C实现的示例:clint端是java。所以当我通过java代码调用这个查询时,我必须使用get方法,在实现层我必须使用set方法。那么通过使用?在查询中,get和set方法可以将值传递给?在查询中。但是我在使用LIKE关键字进行部分搜索时失败了这个@test,@变量表示什么?那么这如何帮助我从客户端或UI端传递值呢?所以每次我都无法设置@param值。它应该从UI端或setvalue函数传递。所以当我通过java代码调用这个查询时,我必须使用get方法,在实现层我必须使用set方法。那么通过使用?在查询中,get和set方法可以将值传递给?在查询中。但是,如果从java获取集合方法必须工作的话,我现在无法使用LIKE关键字进行部分搜索。为此我必须通过考试?在queryI use sql server management studio中,它可以与过程一起工作。我使用的是DB2 server,其中服务器直接在RAD中配置,因此您可以使用datasource explorer视图中的表。您能给我投票吗,谢谢!你可以为你的DB2Did找到一个用户界面,你可以尝试在你的页面的每一面加上+。我试过了,但没用。从表1中选择*,其中列1如“%”+?+“%”将Java标记添加到您的问题中,如果您希望Java代码创建带有参数的SqlQuery…:我特定于Java。我想这在C上可能行得通,但在java中使用类似的方法是行不通的。我的答案的帮助点是在创建参数之前只添加“%”+yourValue+“%”