C#.NET Winform代码SQL语句拼写问题?急!

kate_jing2010 2012-04-19 09:19:41
select Top(@p1) * from user where @x1 id not in (select top(@y1 -1) id from user @x2 order by id) order by id;

ps.add(new sqlparmeter)("(@p1)",10);
ps.add(new sqlparmeter)("(@y1)",1);

ps.add(new sqlparmeter)("(@x1)",k1);
ps.add(new sqlparmeter)("(@x2)",k2);

其中,第一种情况:k1 = "";
k2 = "";

第二种情况:k1 = " id between '021' and '035' and ";
k2 = " where id between '021' and '035' ";


上述两种情况下,执行时,都会报出在应使用条件的上下文在(‘id’附近)中指定了非布尔类型的表达式。‘@x2’附近有语法错误。

向各位坛友求助,急!谢谢!




...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kate_jing2010 2012-04-23
  • 打赏
  • 举报
回复
感谢楼上各位,我试一下。
熙风 2012-04-20
  • 打赏
  • 举报
回复
select Top(@p1)

Top 和(@p1)之间是否要加个空格?
test2050 2012-04-19
  • 打赏
  • 举报
回复
第1种情况 把k1 置为 k1=" 1 and 1 and"
第二种情况 给id between ... and 加上括号试试??
纯属猜测。请自己调试调试。
EnForGrass 2012-04-19
  • 打赏
  • 举报
回复
其实可以用IsNull处理一下,为空的时候默认选出前2条数据,这样写
select top IsNull((@p1),2)

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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