当前位置:编程学习 > C#/ASP.NET >>

必须声明标量变量 "@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楼正解
引用 5 楼  的回复:
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,typ……
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,