DynamicManager类的代码
        public static void ModifyBasicInfo(int DId, string Title, string Time, string DContent)
        {
            Dynamic dynamic = DynamicService.GetDynamicById(DId);
            dynamic.Title = Title;
            dynamic.Time = Time;
            dynamic.DContent = DContent;
            DynamicService.ModifyDynamic(dynamic);
        }
DynamicService类的代码
   public static void ModifyDynamic(Dynamic dynamic)
        {
            string sql ="UPDATE Dynamic " +"SET " +"Title  = @Title, " +"Time = @Time, " +"dContent = @dContent, " +"WHERE dId = @DId";
            SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@dId", dynamic.DId),
new SqlParameter("@Title", dynamic.Title),
new SqlParameter("@Time", dynamic.Time),
new SqlParameter("@dContent", dynamic.DContent),
};
            DBHelper.ExecuteCommand(sql, para);
        }
DBHelper类中的代码
        public static int ExecuteCommand(string sql, params SqlParameter[] values)
        {
            SqlCommand cmd = new SqlCommand(sql, Connection);
            cmd.Parameters.AddRange(values);
            return cmd.ExecuteNonQuery();
        }所出现的问题是关键字 'WHERE' 附近有语法错误。说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 关键字 'WHERE' 附近有语法错误。源错误: 
行 66:             SqlCommand cmd = new SqlCommand(sql, Connection);
行 67:             cmd.Parameters.AddRange(values);
行 68:             return cmd.ExecuteNonQuery();
行 69:         }
行 70: 

解决方案 »

  1.   

    string sql ="UPDATE Dynamic SET Title = @Title,Time = @Time, dContent = @dContent WHERE dId = @DId";
    +"dContent = @dContent,这里多了一个","
      

  2.   

      string sql ="UPDATE Dynamic " +"SET " +"Title = @Title, " +"Time = @Time, " +"dContent = @dContent, " +"WHERE dId = @DId";
    ===========
      string sql ="UPDATE Dynamic " +"SET " +"Title = @Title, " +"Time = @Time, " +"dContent = @dContent " +" WHERE dId = @DId";
      

  3.   

    调试一下,把sql 拿出来看看不就知道了。