首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 使用SqlParameter时如何实现模糊查询? [已结帖,结帖人:ayutan]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ayutan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-11-08 15:53:34 楼主
    我知道一般实现模糊查询使用这样的语句:select  *  from  table  where  filename  like  "%aaa%",但是我这里用的是条件的值为sqlparameter参数@FileName,如果我把aaa换成@FileName的话,语句变成
    select  *  from  table  where  filename  like  "%@FileName%",@FileName就变成一个字符串了,变成搜索filename中包含“@filename”的一条记录,结果搜索不出来任何东西,请问如果我想使用SqlParameter来实现模糊查询应如何解决?
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • TimLeaf
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 15:57:431楼 得分:10
    http://topic.csdn.net/u/20080715/10/e83db3db-ab4c-4c9c-a245-9c62392ab2ec.html
    给你个帖子参考...呵呵~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zpcoder
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 16:00:202楼 得分:10
    我直接打的代码,你只能参考,切不要直接复制运行


    C# code
    string sqlstr="select * from table where filename like "%@field%"; using (SqlConnection conn=new SqlConnection("……")) { SqlCommand cmd=new SqlCommand(sqlstr,conn); cmd.Parameter.Add(new SqlParameter("@field",你的变量的值); cmd.CommandType=CommandType.Text;//重要 conn.Open(); SqlDataReader dr=cmd.ExcuteReader(); if (dr.Read()) { …… } }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zpcoder
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 16:04:043楼 得分:10
    sorry 讲 2 楼第一行改为

    string sqlstr="select  *  from  table  where  filename  like  %@field%";


    假设你会用 SqlHelper.cs 那就更简单了,可以直接:

    SqlDataReader dr=SqlHelper.ExcuteReader(连接字符串,相关参数……);

    唯一要注意的是.直接把 SQL语句当 cmdText 传进去,也要用 CommandType.Text
    SqlParameter处就直接 new SqlParameter("@field",你的变量的值));


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ayutan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 16:15:574楼 得分:0
    谢谢各位的热情解答,问题已经解决了,大家可以看看这篇文章
    http://www.cnblogs.com/xiaozhuoyun/archive/2008/01/24/1051313.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhao8848jun
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 16:23:205楼 得分:10
    select  *  from  table  where  filename  like  '%@FileName%'
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wuhan_dotnet
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 16:29:086楼 得分:10
    select  *  from  table  where  filename  like  '%'+@FileName+'%'
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • thc1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 16:32:597楼 得分:10
    SQL code
    select * from table where filename like '%'+@FileName+'%'
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • starfd
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 16:34:388楼 得分:10
    @FileName = "%" + @FileName + "%";

    select  *  from  table  where  filename  like  @FileName
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kfps8kfps8
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 16:51:569楼 得分:10
    mark
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Eagle_ice
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 16:56:1310楼 得分:10
    引用 3 楼 zpcoder 的回复:
    sorry 讲 2 楼第一行改为

    string sqlstr="select  *  from  table  where  filename  like  %@field%";


    假设你会用 SqlHelper.cs 那就更简单了,可以直接:

    SqlDataReader dr=SqlHelper.ExcuteReader(连接字符串,相关参数……);

    唯一要注意的是.直接把 SQL语句当 cmdText 传进去,也要用 CommandType.Text
    SqlParameter处就直接 new SqlParameter("@field",你的变量的值));

    顶3楼的...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mjjzg
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 17:02:2111楼 得分:10
    顶一下,以表支持
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ASPNETDB
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 17:24:2512楼 得分:0
    '%'+@field+'%'可以
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yagebu1983
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 17:42:2313楼 得分:0
    放到存储过程里!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • greatverve
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 20:50:0314楼 得分:0
    收藏
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • gengwanshanreally
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 22:32:2415楼 得分:0
    顶楼主!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mengxj85
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 22:58:3016楼 得分:0
    顶一下
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved