关于转换参数的问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 03:13:55
/// <summary>
/// 供求信息快速检索
/// </summary>
/// <param name="type">信息类型</param>
/// <param name="infoSearch">查询信息的关键字</param>
/// <returns>返回查询结果DataSet数据集</returns>

public DataSet SelectInfo(string type, string infoSearch)
{
SqlParameter[] pars ={
data.MakeInParam("@type", SqlDbType.VarChar, 50, type) ,
data.MakeInParam("@info",SqlDbType.VarChar,50,"%"+infoSearch+"%")
};
return data.RunProcReturn("select * from tb_info where (type=@type) and (info like @info) and (checkstate=1)", pars, "tb_info");
}

(type=@type)

(info like @info)

这个是传参

(checkstate=1)",

这个是判断

传参和判断有何区别?

我的理解 是 传参是数据库 没有具体的值 然后通过参数 写入数据库

判断是 数据库有具体的值 通过数值进行对比 进行筛选

但是问题是

为何查询的时候也会传参

也可以啊,看你自己怎么去写啊

public DataSet SelectInfo(string type, int id)
{
SqlParameter[] parms ={
data.MakeInParam("@type", SqlDbType.VarChar, 50, type) ,
};
return data.RunProcReturn("SELECT ID, type, title, info, linkman, tel, checkState, date FROM tb_info where (type=@type) AND (ID=" + id + ") ORDER BY date DESC", parms, "tb_info1");
}

看到上面的的区别吗?
如果你要传参type=@type,不需要用连接符"+"来连接
同时,你也看到了".....ID=" + id + "....",此ID一定是数字
否则会这样写".....ID='" + id + "'....",用''代表是字符

其中....,指前后的语句

呵呵