求高手帮我解决下这个问题。。输入符号就这样的错误:Line 1: Incorrect syntax near '**'.
Unclosed quotation  before the character string ')'. 
public int addproduct()
  {
  Database db = DatabaseFactory.CreateDatabase();  string sql = "insert into [news]([newName],[newClsId],[newBody]) values('" + _newname + "'," + _newclsid + ",'" + _newbody + "')";  _newbody.Replace("'", "''");  DbCommand com = db.GetSqlStringCommand(sql);  com.Parameters.Add(new SqlParameter("newName", _newname));  com.Parameters.Add(new SqlParameter("newClsId", _newclsid));  com.Parameters.Add(new SqlParameter("newBody", _newbody));  return db.ExecuteNonQuery(com);
  }
求高手帮我解决下~~~非常感谢

解决方案 »

  1.   

    楼主的代码,抄了几篇文章里面的。你用Parameters 就不用在拼接sql 了。拼接的肯定会出错的。 你在看看 书上用Parameters 的地方,人家怎么写代码的。
      

  2.   


     public int addproduct()
        {
            Database db = DatabaseFactory.CreateDatabase();        string sql = "insert into [news]([newName],[newClsId],[newBody]) values('@newname',@newclsid,'@newbody')";        _newbody.Replace("'", "''");        DbCommand com = db.GetSqlStringCommand(sql);        com.Parameters.Add(new SqlParameter("newName", _newname));        com.Parameters.Add(new SqlParameter("newClsId", _newclsid));        com.Parameters.Add(new SqlParameter("newBody", _newbody));        return db.ExecuteNonQuery(com);
        }
      

  3.   

    那应该怎么替换'这个符号呢...._newbody.Replace("'", "''");  这样也不行啊..