2010-03-29 36 views
2

下午好,SQL Server和.NET类型化数据集AllowDBNull元数据

我正在从存储过程生成一个类型化的数据集。该存储过程可能包含这样的内容:

select t1.colA, t2.colA AS t2colA 
from t1 
    inner join t2 
    on t1.key = t2.key 

当我生成类型化的DataSet,该数据集知道t1.colA是否允许空值,但它总是把返回FALSE AllowDBNull为t2.colA即使t2.colA允许NULL 。

这是因为该列是别名吗?有没有什么办法,从SQL,提示到VS,该列允许NULL?如果我们重新生成表,我们现在必须进入并更新列的AllowDBNull。

在此先感谢。

基督教

+0

我无法使用SQL2008在VS2010中重现此操作。我在SQL Server中创建了两个带有空列和非空列的表,并且设计者在加入单个查询时能够计算出它们的空要求。你使用的是哪个版本的Visual Studio和SQL Server? – 2010-05-08 15:39:16

回答

0

我觉得别名不能的原因,它只是一个“重命名”,但列的性质是相同的。正如@卡特说,我无法重现这个问题。请给我们更多的细节。

通过其他方式,您可以避免在SQLServer中使用isnull(colum,defvalue)语句的空值,但也许你不想要它(我知道它不是“酷”),因为你必须得到一个特殊的在某些情况下(例如布尔值)的值可能不明确(所以,这是使用null自身的原因)。

无论如何,请求,给我们更多的信息来帮助你更好。

PS:是的,坏的英语......对不起,我是西班牙语的演讲者。