ASP.NET(C#)问题:标准表达式中数据类型不匹配
偶最近用(C#)做了一个简单的新闻发布系统(偶的网站www.目前用的是asp开发的,想换成),遇到了很大的麻烦比如想删除一条新闻,就是删除数据库中的一条记录
由于我在数据库表中的ID列的属性设为自动编号,结果当我删除时,用下面的语句:
string wyxID=Request["id"];
myData.GetExecuteNonQuery("DELETE FROM wyx_news WHERE wyx_id='" + wyxID + "'");//系统说这行有毛病
调试程序时,却说错误,提示:标准表达式中数据类型不匹配。
页面错误如下:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------
标准表达式中数据类型不匹配。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。
源错误:
行 20: {
行 21: string strID=Request["id"];
行 22: myData.GetExecuteNonQuery("DELETE FROM wyx_news WHERE wyx_id='" + wyxID + "'");
行 23:
行 24: Response.Redirect("admin_main.aspx");
源文件: f:\wyx2.0\admin\admin_newsdel.aspx.cs 行: 22
堆栈跟踪:
[OleDbException (0x80040e07): 标准表达式中数据类型不匹配。]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +267
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +192
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +48
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +106
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +108
Socut.CAcc.GetExecuteNonQuery(String sql) +90
Socut.Data.CData.GetExecuteNonQuery(String sql) +151
admin_admin_classdel.Page_Load(Object sender, EventArgs e) in f:\wyx2.0\admin\admin_classdel.aspx.cs:22
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; 版本:2.0.50727.42