1
我有一個合併聲明,它將值插入到數據庫中。我遇到異常點,並出現異常錯誤我的合併聲明失敗
MERGE語句必須以分號(;)結尾。
這是我的發言。任何人都可以指出我錯過了什麼?
using (var masterDb = new SqlConnection(ConfigurationManager.ConnectionStrings["MasterDB"].ConnectionString))
{
masterDb.Open();
if (data != null)
try
{
conn.Execute(
"MERGE INTO [dbo].[FormSubmissions] AS TARGET " +
"USING(VALUES(@Id,@CreatedAt,@UpdatedAt,@IsComplete,@FormId,[@Source],@SentEmail)) AS SOURCE (Id,CreatedAt,UpdatedAt,IsComplete,FormId,[Source],SentEmail) " +
"ON TARGET.Id = SOURCE.Id " +
"WHEN MATCHED THEN " +
"UPDATE SET CreatedAt = SOURCE.CreatedAt,UpdatedAt = SOURCE.UpdatedAt,IsComplete = SOURCE.IsComplete, FormId = SOURCE.FormId, [Source] = SOURCE.[Source], SentEmail = SOURCE.SentEmail " +
"WHEN NOT MATCHED BY TARGET THEN " +
"INSERT(Id,CreatedAt,UpdatedAt,IsComplete,FormId,[Source],SentEmail) " +
"VALUES(Id,CreatedAt,UpdatedAt,IsComplete,FormId,[Source],SentEmail)",
new
{
Id = formSubmissionsId,
CreatedAt = data.CreatedAt,
UpdatedAt = data.UpdatedAt,
IsComplete = data.IsComplete,
FormId = data.FormId,
Source = data.Source,
SentEmail = data.SentEmail
});
}
catch (Exception ex)
{
throw;
}
finally
{
masterDb.Close();
}
};
conn.Close();
}
的信息是很清楚,在年底'加上分號..,SentEmail);」,' – Mihai
@Mihai你在哪裏問我添加的;當我catch語句 – yuvs
之前已經有一個Mihai告訴你在conn.Execute()方法中的String參數末尾添加分號,即:「VALUES(Id,CreatedAt,UpdatedAt,IsComplete,FormId,[Source],SentEmail)」+「; 「 – Bandreid