用sqlserver的SqlParameter方法实现多字段模糊查询,全字段查找关键字,本方法兼容不带参数的查找
internal static DataTable getData(params string[] keyWord)
{
string sql = "select * from [dbo].[Bom] ";
SqlParameter[] sp=new SqlParameter[]{};
//如果没有参数就直接查询,不带where
if (keyWord.Length > 0)
{
sql += " where [SerialId] like @keyWord or [Levels] like @keyWord or [PartsCodeName] like @keyWord ";
//多字段模糊查询
sp = new SqlParameter[]{
new SqlParameter("@KeyWord" , "%"+ SqlNull(keyWord[0])+"%")
};
}
DataSet ds = DbHelperSQL.Query(sql, sp);
return ds.Tables[0];
}
//防止找到的数据是null导致报错,需要对null的情况作一个判断
public static object SqlNull(object obj)
{
if (obj == null || obj.ToString() == "")
{
return DBNull.Value;
}
else
{
return obj;
}
}