【发布时间】:2016-01-20 06:25:16
【问题描述】:
SELECT TOP (1)
B.StartDate,
CASE
WHEN B.startdate < getdate() THEN 1
WHEN B.startdate > GETDATE() THEN 2
ELSE 3
END AS Status,
CASE
WHEN BU.UserID = @UserID THEN 1
ELSE 2
END AS Ownership
FROM
TblA AS B
INNER JOIN
TblB AS BF ON B.ID = BF.Id
INNER JOIN
TblC AS BU ON B.ID = BU.ID
WHERE
B.Deleted = 'False'
ORDER BY
Status, Ownership
我试图在 SQL Server CE 中运行上述查询,但它不允许我在数据表 (xsd) 中声明变量。可见我不能写多个查询,因为它是 CE。那么,鉴于我的情况,有什么解决方法吗?
@UserID - 它一直说参数集合中不存在 - 我认为这是因为我在 CASE 中使用它,这就是它抱怨的原因。
【问题讨论】:
-
您收到 .NET 错误,但只显示 SQL。请说明您是如何设置查询的(
sqlParameter.ParameterName = "@UserID"、sqlCommand.Parameters.Item("@UserID ").Value = userId;、...) -
不太确定我是否收到您的问题。但我正在尝试在 xsd 中创建一个数据表并在其上创建一个填充方法 - 以返回行。
-
由于经验不足,这里恐怕帮不上忙。我希望其他人可以。
标签: sql .net-3.5 windows-ce