我是初学者,请各位高手帮忙,,,,在线等,急..........

xinqichen1234 2012-04-22 11:44:16
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
...全文
129 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
test2050 2012-04-22
  • 打赏
  • 举报
回复
1楼正解,还有你下断点调试,把执行的sql字符串拿出来单独调试就明白了。
  • 打赏
  • 举报
回复
dbobj.getcom("insert into " + intoSQL);
改为:
dbobj.getcom(intoSQL);
试试看
orochiheart 2012-04-22
  • 打赏
  • 举报
回复

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值是什么?你就会明白了

很简单
小哥、 2012-04-22
  • 打赏
  • 举报
回复
关键字 'insert' 附近有语法错误。] 报这样的错误 肯定是SQL语句写错了 一般如果你不知道语句错在哪里 调试 复制intoSQL 字符串 到数据库执行下就知道了
fsi014694 2012-04-22
  • 打赏
  • 举报
回复
你的代码看~~ 最后执行出来的 SQL 应该 是~~"insert into insert into webabout(nFile,nTitle,nHtmlText) values 。。。。“ SQL 明显语法 就不对了嘛!! 一楼正解哦!!!

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧