Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过?在SQL查询中进行部分搜索_Java_Sql_Sql Server - Fatal编程技术网

Java 如何通过?在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运算符 当我使用搜索条件时,我希望通过给任何一个字段赋

在过去的一天里,我一直在与一个sql查询作斗争。我的要求是,我想从用户那里获取值,并且必须通过我的查询

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+“%”