以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]sqlserver视图获取数据显示问题  (http://www.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条记录。

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:4.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看

--  作者:freemanzc
--  发布时间:2019/1/7 23:33:00
--  
数据库中结果如下:

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间: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
--  回复:(有点甜)默认,第一列是【主键】列,如果主键...
之前搞错了主键列,解决了。谢谢!