Visual studio 更改数据集设计器参数推断
我正在使用VS2010数据集设计器进行一些select查询,可选参数如下:Visual studio 更改数据集设计器参数推断,visual-studio,visual-studio-2010,dataset,Visual Studio,Visual Studio 2010,Dataset,我正在使用VS2010数据集设计器进行一些select查询,可选参数如下: SELECT CustomerID, FirstName, JoinDate, etc FROM tblCustomers WHERE ( (@CustomerID IS NULL OR CustomerID = @CustomerID) AND (@FirstName IS NULL OR FirstName = @FirstName) AND (@JoinedBefore IS NULL OR
SELECT CustomerID, FirstName, JoinDate, etc
FROM tblCustomers
WHERE (
(@CustomerID IS NULL OR CustomerID = @CustomerID) AND
(@FirstName IS NULL OR FirstName = @FirstName) AND
(@JoinedBefore IS NULL OR JoinDate < @JoinedBefore) AND
(@JoinedAfter IS NULL OR JoinDate > @JoinedAfter) AND
.. etc ..
)
选择CustomerID、FirstName、JoinDate等
来自TBL客户
在哪里(
(@CustomerID为NULL或CustomerID=@CustomerID)和
(@FirstName为NULL或FirstName=@FirstName)和
(@JoinedBefore为空或JoinedDate<@JoinedBefore)和
(@JoinedAfter为NULL或JoinDate>@JoinedAfter)和
等
)
对这些属性数据类型和allow DB null的推断几乎总是错误的。最后,我为日期时间设置了字符串类型,反之亦然。超过一半的字段始终标记为非空
这显然对我的提问造成了极大的破坏。我可以手动更改这些推断,但每次我必须更新TableAdapter时,它都会将它们重置为它认为最好的状态!有人知道如何a)正确推断,或b)永久覆盖它们吗?看起来VS根据查询中第一次出现的参数推断数据类型。因为我把我的@Parater设置为空或者。。。首先,这让设计师感到困惑,并导致其在很多时候推断错误。我交换了查询的顺序,现在它可以完美地推断:
SELECT CustomerID, FirstName, JoinDate, etc
FROM tblCustomers
WHERE (
(CustomerID = @CustomerID OR @CustomerID IS NULL AND
(FirstName = @FirstName OR @FirstName IS NULL) AND
(JoinDate < @JoinedBefore OR @JoinedBefore IS NULL) AND
(JoinDate > @JoinedAfter OR @JoinedAfter IS NULL) AND
.. etc ..
)
选择CustomerID、FirstName、JoinDate等
来自TBL客户
在哪里(
(CustomerID=@CustomerID或@CustomerID为空且
(FirstName=@FirstName或@FirstName为空)和
(JoinDate<@JoinedBreach或@JoinedBreach为空)和
(JoinDate>@JoinedAfter或@JoinedAfter为空)和
等
)