关于用储存过程怎样实现模糊查询?

本文介绍了一个使用VB.NET和SQL存储过程实现客户信息模糊查询的例子。通过修改存储过程中的WHERE子句并调整VB.NET代码来适应模糊匹配的需求,解决了无法显示模糊查询结果的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查询客户编号  
  界面有三个单选按钮,1为客户编号查询,2为客户名称查询,3为电话号码查询  
  还有一个文本框,接受输入查询字符串。在SQL数据库中建立一个储存过程QUERY_CODE,内容为  
  =========================  
  CREATE   PROCEDURE   query_code  
  @CUST_CODE     as   nvarchar(10)  
  AS  
  begin    
  select   CUST_CODE,CUST_NAMEE,CUST_NAMEC,PHONE,PHONE2   from   customer    
  --where   CUST_CODE   like   @CUST_CODE+'%'  
  where   CUST_CODE=   @CUST_CODE  
  order   by   CUST_CODE  
  end  
  GO  
  =========================  
  当点击按钮“查看”时,就返回符合条件的记录,在DATAGRID控件上显示。  
  我在VB程序代码中这样添加  
  =============================  
  If   Option1.Value   =   True   Then  
           
          Set   cmd   =   New   ADODB.Command  
          cmd.ActiveConnection   =   cn  
          cmd.CommandText   =   "query_code"  
          cmd.CommandType   =   adCmdStoredProc  
          str1   =   Text1.Text  
           
          Set   prm1   =   cmd.CreateParameter("CUST_CODE",   adChar,   adParamInput,   10)  
          cmd.Parameters.Append   prm1  
          prm1.Value   =   str1  
   
          Set   rs   =   cmd.Execute  
          Set   DataGrid1.DataSource   =   rs  
  End   If  
  ........(其他两个单选代码省略)  
  =================================  
  上面的储存过程是精确查询,现在我把储存过程的条件改为  
  where   where   CUST_CODE   like   @CUST_CODE+'%'  
  再次运行程序,就看不到任何记录在控件DATAGRID上显示。请教怎样才能实现模糊查询?  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值