关键字搜索的问题

hebaobao19880921 2011-07-21 03:33:17
做了一个关键字搜索的功能,被搜索的字段有资源信息和资源名称 还有日期段
这个资源信息和资源名称都是来之一个输入框 不知道该怎么办判断这个Like的文字是从哪个字段中查询的
我的DAL层是这样写的


/// <summary>
/// 根据日期,资源名称,资源描述查询资源信息
/// </summary>
/// <returns></returns>
public DataSet FN_SerchByDateAndType(string createdate, string endate, NRModel.File model)
{
//StringBuilder strSql = new StringBuilder();
//strSql.Append(" select * from t_File where FileNam like @FileNam");
//strSql.Append(" and CreateOn between convert(nvarchar(10),@createdate,120) and convert(nvarchar(10),@endate,120) order by CreateOn desc");
//SqlParameter[] parameters = {
// new SqlParameter("@FileNam",SqlDbType.NVarChar,256),
// new SqlParameter("@createdate",SqlDbType.NVarChar,256),
// new SqlParameter("@endate",SqlDbType.NVarChar,256)
// };
//parameters[0].Value = '%' + model.FileNam + '%';
//parameters[1].Value = createdate;
//parameters[2].Value = endate;



StringBuilder strSql = new StringBuilder();
strSql += "select * from t_file where 1=1";
if (model.FileNam != null)
{
strSql.Append += " and FileNam like @FileNam";
}
if (createdate != null && endate != null)
{
strSql += " and CreateOn between convert(nvarchar(10),@createdate,120) and convert(nvarchar(10),@endate,120) ";
}
if (model.Decription != null)
{
strSql += " and Decription like @Decription order by CreateOn desc";
}

SqlParameter[] parameters =
{
new SqlParameter("@FileNam",SqlDbType.NVarChar,256),
new SqlParameter("@createdate",SqlDbType.NVarChar,256),
new SqlParameter("@endate",SqlDbType.NVarChar,256),
new SqlParameter("@Decription",SqlDbType.NVarChar,256)
};
parameters[0].Value = '%' + model.FileNam + '%';
parameters[1].Value = createdate;
parameters[2].Value = endate;
parameters[3].Value = '%' + model.Decription + '%';
//string strSql = string.Format("select * from t_File where CreateOn between convert(nvarchar(10),'{0}',120) and convert(nvarchar(10),'{1}',120) and fileNam like '%{2}%'", createdate, endate, model.FileNam);
return DbHelperSQL.Query(strSql.ToString(), parameters);
}
...全文
63 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
MSDNXGH 2011-07-21
  • 打赏
  • 举报
回复
这样试试吧,

在SQL语句中,加入Or,

这样一条语句,查询多个字段。

写个例子: select * from date where 字段1 like %a% or 字段2 like %b% or 字段3 like %c%
随心录123 2011-07-21
  • 打赏
  • 举报
回复
就好比 用户登录的时候 可以用 ID 也可以用电话号码 一样的
随心录123 2011-07-21
  • 打赏
  • 举报
回复
你加个后台加个判断就是了啊。判断他是什么 就走那个代码就是咯

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧