必须声明标量变量@

njnuxj 2010-09-21 03:37:24
                SqlString = "SELECT Pub_Users.LogId,Obj_staff.StaffId,Obj_staff.StaffName,Pub_Roles.RoleName"
+ " FROM Pub_Users,Obj_staff,Pub_UserRole,Pub_Roles"
+ " WHERE Pub_Users.StaffId=Obj_staff.StaffId"
+ " and Pub_Users.LogId=Pub_UserRole.LogId"
+ " and Pub_UserRole.RoleId=Pub_Roles.RoleId"
+ " and Pub_Roles.RoleName LIKE '%'+@rrr+'%'";
SqlParameter myParameter = new SqlParameter("@rrr", SqlDbType.VarChar);
myParameter.Value = role;
bh.AddParameter(myParameter);
ds = bh.GetDataSet(SqlString);


总是报这样的错,role是函数的参数,肯定有值
...全文
287 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
O15013245O 2010-09-21
  • 打赏
  • 举报
回复
select * from tb WHERE Name LIKE @Name

parm.Value = "%"+name+"%";
jack15850798154 2010-09-21
  • 打赏
  • 举报
回复
SqlConnection con = new SqlConnection("Data Source=28678E561BFF4F2\\JINZHIYUAN;Initial Catalog=master;uid=sa;pwd=sql");
SqlCommand cmd = new SqlCommand("select * from city where city_name like '%'+@city_id+'%'", con);
SqlParameter[] param = { new SqlParameter("@city_id", "江苏") };
cmd.Parameters.AddRange(param);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();

测试通过。
newdigitime 2010-09-21
  • 打赏
  • 举报
回复

修改两处:
+ " and Pub_Roles.RoleName LIKE @rrr";
myParameter.Value = "%"+role+"%";
njnuxj 2010-09-21
  • 打赏
  • 举报
回复
不行哦,还是那样的错[Quote=引用 6 楼 newdigitime 的回复:]

SQL code

+ " and Pub_Roles.RoleName LIKE '%'+@rrr+'%'";
换成
+ " and Pub_Roles.RoleName LIKE '%"+@rrr+"%'";
[/Quote]
myjavamosquito 2010-09-21
  • 打赏
  • 举报
回复
+ " and Pub_Roles.RoleName LIKE '%"+@rrr+"%'";
苏州牛恋歌 2010-09-21
  • 打赏
  • 举报
回复
+ " and Pub_Roles.RoleName LIKE like "+"'%"+@rrr+"%'"
应这样写
cqdyh 2010-09-21
  • 打赏
  • 举报
回复
SqlString = "SELECT Pub_Users.LogId,Obj_staff.StaffId,Obj_staff.StaffName,Pub_Roles.RoleName"
+ " FROM Pub_Users,Obj_staff,Pub_UserRole,Pub_Roles"
+ " WHERE Pub_Users.StaffId=Obj_staff.StaffId"
+ " and Pub_Users.LogId=Pub_UserRole.LogId"
+ " and Pub_UserRole.RoleId=Pub_Roles.RoleId"
+ " and Pub_Roles.RoleName LIKE @rrr";
SqlParameter myParameter = new SqlParameter("@rrr", SqlDbType.VarChar);
myParameter.Value = "%"+ role +"%";
bh.AddParameter(myParameter);
ds = bh.GetDataSet(SqlString);


??
majic2008 2010-09-21
  • 打赏
  • 举报
回复

又来个粗心的lz
jack15850798154 2010-09-21
  • 打赏
  • 举报
回复
'+@rrr+' 换成 "+@rrr+"
newdigitime 2010-09-21
  • 打赏
  • 举报
回复

+ " and Pub_Roles.RoleName LIKE '%'+@rrr+'%'";
换成
+ " and Pub_Roles.RoleName LIKE '%"+@rrr+"%'";

wuyq11 2010-09-21
  • 打赏
  • 举报
回复
sqlparameter
select * from tb WHERE Name LIKE '%'+@Name+'%'
看看role值和SQL语句
或parm.Value = "%"+name+"%";
叶子 2010-09-21
  • 打赏
  • 举报
回复
myParameter[0].Value = role;


你调试一下SqlString有错误吗?

你现在的问题明显是@rrr被当成字段串了,没有得到外面传进来的值!
丰云 2010-09-21
  • 打赏
  • 举报
回复
改成
+ " and Pub_Roles.RoleName LIKE '%@rrr%'";
试下看看
丰云 2010-09-21
  • 打赏
  • 举报
回复
+ " and Pub_Roles.RoleName LIKE '%'+@rrr+'%'";

这句是这样拼写吗?
lchy110 2010-09-21
  • 打赏
  • 举报
回复

SqlParameter[] parms = new SqlParameter[] {
new SqlParameter("@rrr",SqlDbType.Char,10)}
parms[0].Value = 'ddd';
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

62,272

社区成员

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

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

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

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