Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 更改数据集设计器参数推断_Visual Studio_Visual Studio 2010_Dataset - Fatal编程技术网

Visual studio 更改数据集设计器参数推断

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

我正在使用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 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为空)和
等
)