不懂怎么错了,求解
 public DataSet UpdateArchive_UnitByID(int ID ,string UnitID, string VolumeID, string UnitName, string Manager, string Memo )
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("Upadate Archive_Unit set");
            strSql.Append("where ID=@ID");
            strSql.Append("UnitID=@UnitID");
            strSql.Append("VolumeID=@VolumeID");
            strSql.Append("UnitName=@UnitName");
            strSql.Append("Manager=@Manager");
            strSql.Append("Memo=@Memo");
            IDbDataParameter[] p = new IDbDataParameter[6];
            p[0]=CommonFactory .CreateParameter ("@ID",ID,DbType.Int32  );
            p[1] = CommonFactory.CreateParameter("@UnitID", UnitID, DbType.AnsiString);
            p[2] = CommonFactory.CreateParameter("@VolumeID", VolumeID, DbType.AnsiString);
            p[3] = CommonFactory.CreateParameter("@UnitName", UnitName, DbType.AnsiString);
            p[4] = CommonFactory.CreateParameter("@Manager", Manager, DbType.AnsiString);
            p[5] = CommonFactory.CreateParameter("@Memo", Memo, DbType.AnsiString);
            DBAccess dba = DBAccessFactory.CreateAccess(CommonBLL.dbname);
            return dba.ExecuteFillDataSet(strSql.ToString(), p);//“/”应用程序中的服务器错误。
        }

解决方案 »

  1.   

    strSql.Append("Upadate Archive_Unit set ");
                strSql.Append("UnitID=@UnitID ");
                strSql.Append("VolumeID=@VolumeID ");
                strSql.Append("UnitName=@UnitName ");
                strSql.Append("Manager=@Manager ");
                strSql.Append("Memo=@Memo ");
                strSql.Append("where ID=@ID");
      

  2.   

    还要加逗号,忘记了strSql.Append("Upadate Archive_Unit set ");
      strSql.Append("UnitID=@UnitID,");
      strSql.Append("VolumeID=@VolumeID,");
      strSql.Append("UnitName=@UnitName,");
      strSql.Append("Manager=@Manager,");
      strSql.Append("Memo=@Memo ");
      strSql.Append("where ID=@ID");
      

  3.   

                StringBuilder strSql = new StringBuilder();
                strSql.Append("Upadate Archive_Unit set");
                strSql.Append("UnitID=@UnitID,");
                strSql.Append("VolumeID=@VolumeID,");
                strSql.Append("UnitName=@UnitName,");
                strSql.Append("Manager=@Manager,");
                strSql.Append("Memo=@Memo");
                strSql.Append(" where ID=@ID");           要注意的地方:1.逗号  2.where前面的空格
      

  4.   

    where条件放在后面 而且各个值替换之间加逗号 这个你可以直接打开SQL跟踪器 查看SQL语句 一看就能看出来是SQL错误。
      

  5.   

    StringBuilder strSql = new StringBuilder();
                strSql.Append("Upadate Archive_Unit set");
                strSql.Append("where ID=@ID");
                strSql.Append("UnitID=@UnitID");
                strSql.Append("VolumeID=@VolumeID");
                strSql.Append("UnitName=@UnitName");
                strSql.Append("Manager=@Manager");
                strSql.Append("Memo=@Memo");
    注意where位置,以及空格,逗号 改成StringBuilder strSql = new StringBuilder();
                strSql.Append("Upadate Archive_Unit set ");   
                strSql.Append("UnitID=@UnitID,");
                strSql.Append("VolumeID=@VolumeID,");
                strSql.Append("UnitName=@UnitName,");
                strSql.Append("Manager=@Manager,");
                strSql.Append("Memo=@Memo");
                strSql.Append(" where ID=@ID");
      

  6.   

    依旧有错误,'setUnitID' 附近有语法错误。
      

  7.   

     strSql.Append("Upadate Archive_Unit set");=> strSql.Append("Update Archive_Unit set");
      

  8.   

       要空格 set UnitID
      

  9.   

    都改了,还是错的,不知是我后天调用错的,还是BLL错的,提示:'=' 附近有语法错误。 
      

  10.   

    strSql.Append("Upadate Archive_Unit set ");  set后面或strSql.Append(" UnitID=@UnitID,");UnitID前面加空格
      

  11.   

    如果楼主使用的是SQL Server的话 要掌握使用SQl事件探查器.
      

  12.   


    strSql.Append("Upadate Archive_Unit set "); set后面或strSql.Append(" UnitID=@UnitID,");UnitID前面加空格
      

  13.   

    有3点错误
    1、 strSql.Append("Upadate Archive_Unit set");Upadate应该为 Update
    2、应注意strSql.Append("where ID=@ID");的位置,语法是 update 表名 set 字段名=新值 where 条件           由此可见,where 语句应写在最后面
    3、注意空格和逗号...你上面的sql语句没有空格和逗号,拼接后成了一个连续的字符串.肯定会报错的
    应该为:
    StringBuilder strSql = new StringBuilder();
    strSql.Append("Update Archive_Unit set");--改正upadate为update
    strSql.Append(" UnitID=@UnitID,");         --UnitID=@UnitID前面加空格,后面加逗号
    strSql.Append("VolumeID=@VolumeID,");       --因为前面已经有了逗号,无需添加空格了,但要逗号
    strSql.Append("UnitName=@UnitName,");       --同上
    strSql.Append("Manager=@Manager,");         --同上
    strSql.Append("Memo=@Memo");                --最后一个字段的改变无需加逗号,但要注意和where语句用空格隔开           
    strSql.Append(" where ID=@ID");            --前面加空格
    ...........建议楼主多用调试,跟踪Sql语句的拼接,再粘贴到数据库运行即可