sqldatesource 添加where条件 显示全部问题

solidvacuum 2018-06-29 12:35:46


如图,在配置数据源中,想通过where条件,将两个textbox控件作为where查询条件,但是想实现:
如果两个textbox都不填的时候,能展示全部数据,请问哪位大师指点下?


PS:本人此前都是直接代码中配置数据源,但是想深入了解下系统自带的可视化设置好不好用,请不吝赐教。
...全文
225 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
solidvacuum 2018-07-04
  • 打赏
  • 举报
回复
引用 8 楼 xomix 的回复:
[quote=引用 7 楼 solidvacuum 的回复:]
[quote=引用 6 楼 xomix 的回复:]
能看明白我写的是什么吗?就是加一个你要传入的值=空的判断就可以实现都为空就查询全部了。
可视化配置好也不好,新的已经越来越简单容易了。但是便利性上还是不如标准版。


你能在你vs界面演示下吗,你这个感觉也查不到东西。[/quote]
你要设置默认值,然后默认值是一个空格就行了。







SELECT id,bzcode,bzcode1 FROM [Table] WHERE (([bzcode] = @bzcode or len(@bzcode) =0 ) AND ([bzcode1] = @bzcode1 or len(@bzcode1) =0))


这是我的查询代码

这是我的表结构:

CREATE TABLE [dbo].[Table] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[bzcode] NCHAR (10) NULL,
[bzcode1] NCHAR (10) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
[/quote]


你在vs界面里能查到东西?我刚完全按照你说的,还是没查到,您能直接调试页面看看结果吗、?
solidvacuum 2018-07-04
  • 打赏
  • 举报
回复
感谢各位大神参与帮助,现已找到可视化设置方法了。
  • 打赏
  • 举报
回复
引用 7 楼 solidvacuum 的回复:
[quote=引用 6 楼 xomix 的回复:]
能看明白我写的是什么吗?就是加一个你要传入的值=空的判断就可以实现都为空就查询全部了。
可视化配置好也不好,新的已经越来越简单容易了。但是便利性上还是不如标准版。


你能在你vs界面演示下吗,你这个感觉也查不到东西。[/quote]
你要设置默认值,然后默认值是一个空格就行了。







SELECT id,bzcode,bzcode1 FROM [Table] WHERE (([bzcode] = @bzcode or len(@bzcode) =0 ) AND ([bzcode1] = @bzcode1 or len(@bzcode1) =0))


这是我的查询代码

这是我的表结构:

CREATE TABLE [dbo].[Table] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[bzcode] NCHAR (10) NULL,
[bzcode1] NCHAR (10) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
solidvacuum 2018-07-04
  • 打赏
  • 举报
回复
引用 6 楼 xomix 的回复:
能看明白我写的是什么吗?就是加一个你要传入的值=空的判断就可以实现都为空就查询全部了。
可视化配置好也不好,新的已经越来越简单容易了。但是便利性上还是不如标准版。


你能在你vs界面演示下吗,你这个感觉也查不到东西。
  • 打赏
  • 举报
回复
引用 10 楼 solidvacuum 的回复:
[quote=引用 8 楼 xomix 的回复:]
[quote=引用 7 楼 solidvacuum 的回复:]
[quote=引用 6 楼 xomix 的回复:]
能看明白我写的是什么吗?就是加一个你要传入的值=空的判断就可以实现都为空就查询全部了。
可视化配置好也不好,新的已经越来越简单容易了。但是便利性上还是不如标准版。


你能在你vs界面演示下吗,你这个感觉也查不到东西。[/quote]
你要设置默认值,然后默认值是一个空格就行了。







SELECT id,bzcode,bzcode1 FROM [Table] WHERE (([bzcode] = @bzcode or len(@bzcode) =0 ) AND ([bzcode1] = @bzcode1 or len(@bzcode1) =0))


这是我的查询代码

这是我的表结构:

CREATE TABLE [dbo].[Table] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[bzcode] NCHAR (10) NULL,
[bzcode1] NCHAR (10) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
[/quote]


你在vs界面里能查到东西?我刚完全按照你说的,还是没查到,您能直接调试页面看看结果吗、?[/quote]


  • 打赏
  • 举报
回复
引用 楼主 solidvacuum 的回复:
如图,在配置数据源中,想通过where条件,将两个textbox控件作为where查询条件,但是想实现: 如果两个textbox都不填的时候,能展示全部数据,请问哪位大师指点下? PS:本人此前都是直接代码中配置数据源,但是想深入了解下系统自带的可视化设置好不好用,请不吝赐教。

select * from table where (a=@a or ''=@a) and ( b=@b or''=@b )
能看明白我写的是什么吗?就是加一个你要传入的值=空的判断就可以实现都为空就查询全部了。 可视化配置好也不好,新的已经越来越简单容易了。但是便利性上还是不如标准版。
正怒月神 2018-06-29
  • 打赏
  • 举报
回复
sqldatasource,我好像一次也没用过。
直接下载一个 dbhelper类,自己写sql不是挺好的吗。
  • 打赏
  • 举报
回复
你可以看到里边有自己编辑 sql 表达式的地方,显然是让人手动编辑表达式。

这类生成 sql 语句的工具,放在13年前真的很不错,但是10几年不变那么就足以说明并没有达到效果,不值得升级重构。
qq14923349 2018-06-29
  • 打赏
  • 举报
回复
建议 ef codefirst模式
  • 打赏
  • 举报
回复
引用 楼主 solidvacuum 的回复:
PS:本人此前都是直接代码中配置数据源,但是想深入了解下系统自带的可视化设置好不好用,请不吝赐教。


不好。分析 vs 这方面的可视化设计好不好,不是看可视化自身的技术如何如何,而是放眼看如今的其它语言和开发平台的开发效率对比。其它平台的程序员的素质提供高了,直接并且顺利地写出来 sql 语句,那么就折射出微软工具程序员变得效率地和笨拙了。原本傻瓜化的开发工具,是想提高开发效率的,但是现在反而已经远远跟不是别的平台的开发效率。
  • 打赏
  • 举报
回复
这类编程,最近10几年,主键习惯于直接 sql 语句了。不用 vs 的那些设计窗口来辅助设计了。

你试试看锻炼自己直接写 sql 的能力。

110,500

社区成员

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

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

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