@{
var id=int.Parse(Request.QueryString["id"]);
Product product = Product.GetProductByID(id);
}
以上是在index.cshtml文件中调用Product的方法时会出现找不到调用的存储过程。
但是如果在后台直接调用的话就没什么问题,百思不得其解!
哪位同鞋遇到过这的问题呢?!
“/”应用程序中的服务器错误。
Procedure or function 'ltv_product_getbyid' cannot be found in database 'laotanglv'.
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: MySql.Data.MySqlClient.MySqlException: Procedure or function 'ltv_product_getbyid' cannot be found in database 'laotanglv'.
源错误:
行 43: protected IDataReader ExecuteReader(DbCommand cmd, CommandBehavior behavior) 行 44: { 行 45: return cmd.ExecuteReader(behavior); 行 46: } 行 47: |
源文件: E:\物信环宇\laotanglv\laotanglv\DataAccess.cs 行: 45
堆栈跟踪:
[MySqlException (0x80004005): Procedure or function 'ltv_product_getbyid' cannot be found in database 'laotanglv'.] MySql.Data.MySqlClient.ProcedureCache.GetProcData(MySqlConnection connection, String spName) +582 MySql.Data.MySqlClient.ProcedureCache.AddNew(MySqlConnection connection, String spName) +70 MySql.Data.MySqlClient.ProcedureCache.GetProcedure(MySqlConnection conn, String spName) +268 MySql.Data.MySqlClient.StoredProcedure.GetParameters(String procName) +233 MySql.Data.MySqlClient.StoredProcedure.Resolve() +322 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) +974 MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +41 System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) +10 laotanglv.DataAccess.ExecuteReader(DbCommand cmd, CommandBehavior behavior) in E:\物信环宇\laotanglv\laotanglv\DataAccess.cs:45 laotanglv.dal.mysql.product.MySqlProductProvider.GetProductByID(Int32 productID) in E:\物信环宇\laotanglv\laotanglv\DAL\MySql\MySqlProductProvider.cs:37 laotanglv.bll.product.Product.GetProductByID(Int32 productID) in E:\物信环宇\laotanglv\laotanglv\BLL\Product\Product.cs:92 ASP._Page_lv_cshtml.Execute() in e:\物信环宇\laotanglv\laotanglv\lv.cshtml:42 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +197 System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable`1 executors) +69 System.Web.WebPages.WebPage.ExecutePageHierarchy() +151 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +76 System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContext context) +249 |
没有权限
来个单步看看,话说,真没这样用过~~
数据库laotanglv里找不到存储过程ltv_product_getbyid
是不是你将DB从测试服移到正式服上的时候,没有导全啊???如果开发过程中是好的,放到正式服务器出的问题,那么很可能就是因为这个了.
一般不这样用,一般是这样的:在后台获取到ID后,通过ID查询你想要的结果,然后再View(Model)里面返回给前台页面,这样使用违反了MVC的本质,而且这样也方便调试。
引入Mysql类库的版本太低致使出现这样的问题