if (Request.QueryString["ID"] == null)
            {
                string intoSQL = "";
             
                intoSQL = "insert into webabout(nFile,nTitle,nHtmlText) values (";
                intoSQL += "" + txtid.Text + ",";
                intoSQL += "'" + txtitle.Text + "',";
                intoSQL += "'" + txtContent.Text + "')";
                
                dbobj.getcom("insert into " + intoSQL);    public SqlConnection getcon()
    {
        string myStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();
        //  string myStr = "server=ADMIN;database=test;User id=sa;password=123";
        SqlConnection Sqlcon = new SqlConnection(myStr);
        return Sqlcon;
    }
    #endregion     #region
    public void getcom(string M_str_Sqlstr)
    {
        using (SqlConnection Sqlcon = this.getcon())
        {
            Sqlcon.Open();
            SqlCommand Sqlcom = new SqlCommand(M_str_Sqlstr, Sqlcon);
            Sqlcom.ExecuteNonQuery();
        }
    }    #endregion
异常详细信息: System.Data.SqlClient.SqlException: 关键字 'insert' 附近有语法错误。源错误: 
行 39:             Sqlcon.Open();
行 40:             SqlCommand Sqlcom = new SqlCommand(M_str_Sqlstr, Sqlcon);
行 41:             Sqlcom.ExecuteNonQuery();
行 42:         }
行 43:     }
 源文件: f:\wangzhang\scnet\App_Code\Class1.cs    行: 41 堆栈跟踪: 
[SqlException (0x80131904): 关键字 'insert' 附近有语法错误。]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +109
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +57
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +207
   System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2421
   System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +192
   System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +256
   System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +117
   Class1.getcom(String M_str_Sqlstr) in f:\wangzhang\scnet\App_Code\Class1.cs:41
   manage_netset_Aboutedit.btnsave_Click(Object sender, EventArgs e) in f:\wangzhang\scnet\manage\netset\Aboutedit.aspx.cs:65
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +78
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +100
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2867 
这是什么原因,,,表为webabout,,,字段为wenFile  int nTitle  nvarchar(max)   nHtmlText  next

解决方案 »

  1.   

    dbobj.getcom("insert into " + intoSQL);
    改为: 
    dbobj.getcom(intoSQL);
    试试看
      

  2.   

    1楼正解,还有你下断点调试,把执行的sql字符串拿出来单独调试就明白了。
      

  3.   

    你的代码看~~  最后执行出来的 SQL  应该 是~~"insert into insert into webabout(nFile,nTitle,nHtmlText) values 。“   SQL  明显语法  就不对了嘛!!  一楼正解哦!!!
      

  4.   

    关键字 'insert' 附近有语法错误。]  报这样的错误 肯定是SQL语句写错了   一般如果你不知道语句错在哪里 调试  复制intoSQL 字符串 到数据库执行下就知道了
      

  5.   


      string intoSQL = "";
        
      intoSQL = "insert into webabout(nFile,nTitle,nHtmlText) values (";
      intoSQL += "" + txtid.Text + ",";
      intoSQL += "'" + txtitle.Text + "',";
      intoSQL += "'" + txtContent.Text + "')";
       string test = intoSQL;
      dbobj.getcom(intoSQL);//这行设置断点,看看上一行的test值是什么?你就会明白了很简单