我想使用以下代码在SQL Server CE 4.0中开始一个事务,并且还回滚该事务。
相同的查询在SQL Server 2008中工作正常但在SQL Server CE 4.0中没有,所以请帮我解决这个问题:
BEGIN TRAN d
SELECT COUNT(*)
FROM Customers
WHERE DOB = CONVERT(datetime, '16/01/2003',103)
UPDATE Customers
SET dob = NULL
WHERE DOB = CONVERT(datetime, '16/01/2003', 103)
SELECT COUNT(*)
FROM Customers
WHERE DOB = CONVERT(datetime, '16/01/2003', 103)
ROLLBACK tran d;
--COMMIT tran d;
但我收到此错误
错误代码:80040E14
解析查询时出错。[令牌行号= 1,令牌行偏移= 1,令牌错误=开始]
次要错误:25501
来源:SQL Server Compact ADO.NET数据提供者
Num.Par。 :1
民。帕。 :1
呃。帕。 :开始
出了什么问题?任何帮助将不胜感激!
请建议如何在SQL Server CE 4.0中使用开始和回滚事务。
我还检查了SQL Server CE rollback tran和SQL Server CE begin tran。但是在c#中使用该方法,所以我不了解如何在SQL Server CE查询中使用它。
谢谢。
而且我的问题也不重复,因为我没有用C#编写代码而且我使用SQL查询来完成这项任务。
谢谢
答案 0 :(得分:0)
在google等上进行了大量的冲浪。我得到的答案是,在SQL Server CE中你不能声明变量。
如果要在SQL Server CE中开始,回滚或提交事务并编写SQL查询,那么在SQL Server CE中是不可能的。
但是您可以使用以下msdn教程使用其他方式执行此操作: -
如果您想使用Begin transaction,请使用此方法Begin transaction
如果您想使用Rollback交易,请使用此方法Rollback Transaction
如果您想使用提交事务,请使用此方法Commit Transaction
谢谢。