1

我收到用户代码“'TBL' 附近的语法不正确”未处理的 SQLException。我还尝试将 [PrioContextDb].[dbo].[RatingListTriangleModels] 替换为仅表名且不带括号。

using (SqlCommand command = new SqlCommand
                    ("delete from [PrioContextDb].[dbo].[RatingListTriangleModels] TBL where ( TBL.To1Id = @MY_ID and TBL.To2Id = @OTHER_ID ) or ( TBL.To2Id = @My_ID and TBL.To3Id = @OTHER_ID ) or ( TBL.To3Id = @My_ID and TBL.To1Id = @OTHER_ID )", cn))
                {
                    //
                    // Add new SqlParameter to the command.
                    //
                    command.Parameters.Add(new SqlParameter("MY_ID", myToid));
                    command.Parameters.Add(new SqlParameter("OTHER_ID", theirTradeObjectid));
                    var no = command.ExecuteNonQuery();
4

3 回答 3

2

正如其他人所建议的那样,您需要删除TBL您的 SQL 语句。您也需要将其从所有条款中删除。

但看起来您也缺少@参数中的 ,这可能是您得到的下一个错误。

command.Parameters.Add(new SqlParameter("@MY_ID", myToid));
command.Parameters.Add(new SqlParameter("@OTHER_ID", theirTradeObjectid));
于 2013-01-03T10:00:31.190 回答
1

请尝试删除别名 TBL。

delete from [PrioContextDb].[dbo].[RatingListTriangleModels] 
where ( To1Id = @MY_ID and To2Id = @OTHER_ID ) or 
  ( To2Id = @My_ID and To3Id = @OTHER_ID ) or 
  ( To3Id = @My_ID and To1Id = @OTHER_ID )
于 2013-01-03T09:58:32.507 回答
-1

在keywrodTBL之后添加别名,如下所示:DELETE

delete TBL 
from [PrioContextDb].[dbo].[RatingListTriangleModels] TBL 
where ...
...
于 2013-01-03T09:59:32.947 回答