【问题标题】:Trying to update SQL Server CE failing尝试更新 SQL Server CE 失败
【发布时间】:2015-09-17 22:53:27
【问题描述】:

我的插入在我的 SQL Server CE 数据库中工作正常,但我正在努力更新。

任何人都可以看到我正在尝试的问题有什么问题

using (SqlCeConnection con = new SqlCeConnection(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString))
{
    con.Open();
    // Insert into the SqlCe table. ExecuteNonQuery is best for inserts.
    string sql = "UPDATE SalesAssistant SET "
          + "(Name=@Name,IsEnabled=@IsEnabled,Role=@Role,LastModifiedDate=@LastModifiedDate,IsAdministrator=@IsAdministrator,PIN=@PIN,IsDeleted=@IsDeleted)" +
          "WHERE SalesAssistantID=@SalesAssistantID";

    using (SqlCeCommand com = new SqlCeCommand(sql, con))
    {
        com.Parameters.AddWithValue("@SalesAssistantID", em.ServerData.EmployeeID);
        com.Parameters.AddWithValue("@Name", em.ServerData.EmployeeName);
        com.Parameters.AddWithValue("@IsEnabled", em.ServerData.IsEnabled);
        com.Parameters.AddWithValue("@LastModifiedDate", em.ServerData.LastModifiedDate);
        com.Parameters.AddWithValue("@IsAdministrator", em.ServerData.IsAdministrator);
        com.Parameters.AddWithValue("@IsDeleted", em.ServerData.IsDeleted);
        com.Parameters.AddWithValue("@Role", em.ServerData.Role);
        com.Parameters.AddWithValue("@PIN", em.ServerData.PIN);
        com.ExecuteNonQuery();
    }
}

我收到以下错误:

解析查询时出错。 [令牌行号=1,令牌行偏移量=27,错误令牌=(]

【问题讨论】:

  • 开始投票选出有用的答案。

标签: c# sql-server-ce


【解决方案1】:

删除 SET 列表周围的括号,即

  string sql = "UPDATE SalesAssistant SET " 
+ "Name=@Name,IsEnabled=@IsEnabled,Role=@Role,LastModifiedDate=@LastModifiedDate,IsAdministrator=@IsAdministrator,PIN=@PIN,IsDeleted=@IsDeleted" + 
 " WHERE SalesAssistantID=@SalesAssistantID"; 

【讨论】:

  • 谢谢米奇。解析查询时出错。 [令牌行号 = 1,令牌行偏移量 = 173,错误令牌 = SalesAssistantID]}
  • 对不起,我在“WHERE”之间缺少一个空格
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
相关资源
最近更新 更多