必须声明标量变量 "@class"。
SelectCommand="SELECT a.id, a.classid,c.typename, b.uname, a.wztitle, a.nrjj, a.wzurl, a.adddata, a.clicknum, (SELECT COUNT(*) FROM plinfo WHERE (wzid = a.id)) AS plnum from wzinfo a,diggerinfo b,typeinfo c where userid=uid and classid=c.id and classid like '%'+@class+'%' ORDER BY a.clicknum DESC, a.adddata DESC“ --------------------编程问答-------------------- .Parmarters.Add("@class").Value="";--------------------编程问答-------------------- 类似这样:
parameter = new SqlParameter("@name",SqlDbType.VarChar,10);
//定义SqlParameter对象,并指定类型
parameter.Value =txtName.Text;
//赋值
cmd.Parameters.Add(parameter);
--------------------编程问答-------------------- 你的代码里面没有命名为@class的这个变量。 所以程序找不到。 报错。 --------------------编程问答--------------------
把@class换成一个参数 给参数传值就行了 --------------------编程问答-------------------- SelectCommand="SELECT a.id, a.classid,c.typename, b.uname, a.wztitle, a.nrjj, a.wzurl, a.adddata, a.clicknum, (SELECT COUNT(*) FROM plinfo WHERE (wzid = a.id)) AS plnum from wzinfo a,diggerinfo b,typeinfo c where userid=uid and classid=c.id and classid like @class ORDER BY a.clicknum DESC, a.adddata DESC“
Parmarters.Add("@class").Value="%xxx%"; --------------------编程问答-------------------- 楼上的都对 --------------------编程问答-------------------- 没有对参数@class赋值,赋一个值就好 --------------------编程问答-------------------- 就把参数给你的SQL语句 --------------------编程问答-------------------- 5楼正解
补充:.NET技术 , ASP.NET