asp.net访问数据库出现一个错误
第1行:'='附近有语法错误。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:Sys...
第 1 行: '=' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 第 1 行: '=' 附近有语法错误。
源错误:
行 24: ST_dbconn.Open();//打开连接
行 25: OleDbDataAdapter adapter = new OleDbDataAdapter(strSql, ST_dbconn);//定义并初始化数据适配器
行 26: adapter.Fill(dd); //将数据适配器中的数据填充到数据集ST_dd中
行 27: ST_dbconn.Close();//关闭连接
行 28: return dd;
源文件: c:\Documents and Settings\Administrator\桌面\企业信息管理\App_Code\ST_DataBase.cs 行: 26
堆栈跟踪:
[OleDbException (0x80040e14): 第 1 行: '=' 附近有语法错误。]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +177
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +194
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +56
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +105
System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) +91
System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +4
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +139
System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +161
System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +106
ST_DataBase.ReadTable(String strSql) in c:\Documents and Settings\Administrator\桌面\企业信息管理\App_Code\ST_DataBase.cs:26
Products_News.Page_Load(Object sender, EventArgs e) in c:\Documents and Settings\Administrator\桌面\企业信息管理\Products\News.aspx.cs:23
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
System.Web.UI.Control.OnLoad(EventArgs e) +80
System.Web.UI.Control.LoadRecursive() +49
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3745 展开
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 第 1 行: '=' 附近有语法错误。
源错误:
行 24: ST_dbconn.Open();//打开连接
行 25: OleDbDataAdapter adapter = new OleDbDataAdapter(strSql, ST_dbconn);//定义并初始化数据适配器
行 26: adapter.Fill(dd); //将数据适配器中的数据填充到数据集ST_dd中
行 27: ST_dbconn.Close();//关闭连接
行 28: return dd;
源文件: c:\Documents and Settings\Administrator\桌面\企业信息管理\App_Code\ST_DataBase.cs 行: 26
堆栈跟踪:
[OleDbException (0x80040e14): 第 1 行: '=' 附近有语法错误。]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +177
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +194
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +56
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +105
System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) +91
System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +4
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +139
System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +161
System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +106
ST_DataBase.ReadTable(String strSql) in c:\Documents and Settings\Administrator\桌面\企业信息管理\App_Code\ST_DataBase.cs:26
Products_News.Page_Load(Object sender, EventArgs e) in c:\Documents and Settings\Administrator\桌面\企业信息管理\Products\News.aspx.cs:23
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
System.Web.UI.Control.OnLoad(EventArgs e) +80
System.Web.UI.Control.LoadRecursive() +49
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3745 展开
3个回答
展开全部
首先楼上二位说的都是Right的,不过稍欠笼统。
1.首先分享异常信息:“[OleDbException (0x80040e14): 第 1 行: '=' 附近有语法错误。]
”其中“0x80040e14”。SET IDENTITY_INSERT 设置问题,SET IDENTITY_INSERT 的设置是在执行或运行时设置,而不是在分析时设置。简单讲就是标识列问题,例如是否向标识列或者自增字段插入数字,如果是会报这种错误。
2.此次解决办法:当表中含有自增列,你的sql语句肯定在insert的时候直接对自增列赋值了,比如自增列是rowid,你就不能用语insert into 表(rowid,...) select 1,...这样的形式直接插入数据,解决方法是在插入的时候把自增列那个字段和值去掉。
PS:如果你不清楚哪一字段是自增列,可以在查询分析器里边执行
select top 1 identitycol from LxTel_Board
这样就可以看出哪个字段是自增列了。
楼主,想必你已搞掂,请结贴给分,ThankQ!
1.首先分享异常信息:“[OleDbException (0x80040e14): 第 1 行: '=' 附近有语法错误。]
”其中“0x80040e14”。SET IDENTITY_INSERT 设置问题,SET IDENTITY_INSERT 的设置是在执行或运行时设置,而不是在分析时设置。简单讲就是标识列问题,例如是否向标识列或者自增字段插入数字,如果是会报这种错误。
2.此次解决办法:当表中含有自增列,你的sql语句肯定在insert的时候直接对自增列赋值了,比如自增列是rowid,你就不能用语insert into 表(rowid,...) select 1,...这样的形式直接插入数据,解决方法是在插入的时候把自增列那个字段和值去掉。
PS:如果你不清楚哪一字段是自增列,可以在查询分析器里边执行
select top 1 identitycol from LxTel_Board
这样就可以看出哪个字段是自增列了。
楼主,想必你已搞掂,请结贴给分,ThankQ!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询