以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]sqlserver视图获取数据显示问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129870) |
-- 作者:freemanzc -- 发布时间:2019/1/7 23:32:00 -- [求助]sqlserver视图获取数据显示问题 在sqlserver2008R2中创建了视图,在程序中使用sqlquery类型的table从此视图中获取数据显示。使用了datatable的loadfilter和load方法,但是显示的数据只能显示不同商品编号的记录,同一商品编号的记录只显示其中一条。所以变成了数据库中有4条记录,程序table控件中只有2条记录。 |
-- 作者:freemanzc -- 发布时间:2019/1/7 23:33:00 -- 数据库中结果如下: |
-- 作者:有点甜 -- 发布时间:2019/1/8 9:46:00 -- 默认,第一列是【主键】列,如果主键列相同,只会显示一行。
建议你把本来的主键列如 _Identify 也加入到视图那里去。 |
-- 作者:freemanzc -- 发布时间:2019/1/11 16:44:00 -- 数据库的视图中是已经包含了主键列的,从截图3中的sqlquery定义可以看到“where [_Identify] is Null”。同时_Identify列在sqlquery定义的显示列中是不显示的。那是不是就说我在sqlquery的sql语句中不能使用“select *”而要明确把需要的列都写出来,并且要把_Identify列放在第一个的位置才可以? |
-- 作者:有点甜 -- 发布时间:2019/1/11 16:53:00 -- 1、你有 _Identify 列,但你这一列的值,是否重复?
2、请在你数据库那里,执行select * 把所有列都显示出来,看 _Identify 列的值是否唯一不重复。 |
-- 作者:freemanzc -- 发布时间:2019/1/11 16:59:00 -- 回复:(有点甜)默认,第一列是【主键】列,如果主键... 之前搞错了主键列,解决了。谢谢! |