异常详细信息: System.InvalidCastException: 指定的转换无效。
源代码
private static IList<Restaurant> GetRestaurantsBySql( string safeSql )
{
List<Restaurant> list = new List<Restaurant>();
try
{
DataTable table = DBHelper.GetDataSet( safeSql );
foreach (DataRow row in table.Rows)
{
Restaurant restaurant = new Restaurant();
restaurant.Id = (int)row["Id"];
restaurant.ReName = (string)row["ReName"];
restaurant.RePhone = (string)row["RePhone"];
restaurant.ReFree = (int)row["ReFree"];
restaurant.OnTime = (string)row["OnTime"];
restaurant.ReAddress = (string)row["ReAddress"];
restaurant.ReParking = (int)row["ReParking"];
restaurant.ReUsing = (string)row["ReUsing"];
restaurant.ReSeries = (string)row["ReSeries"];
restaurant.ReLine = (string)row["ReLine"];
restaurant.Description = (string)row["Description"];
restaurant.ReMap = (string)row["ReMap"];
restaurant.Clicks = (int)row["Clicks"];
restaurant.Pic = (string)row["Pic"];
restaurant.ReType = ReTypeService.GetReTypeById((int)row["ReTypeId"]); //FK
restaurant.District = ReDistrictService.GetReDistrictById((int)row["DistrictId"]); //FK
restaurant.User = UserService.GetUserById((int)row["UserId"]); //FK
list.Add(restaurant);
}
return list;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
throw e;
}
}
报错
指定的转换无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidCastException: 指定的转换无效。
源错误:
行 245: {
行 246: Console.WriteLine(e.Message);
行 247: throw e;
行 248: }
行 249:
源文件: D:\DinnerPlat\DinnerPlatDAL\RestaurantService.cs 行: 247
堆栈跟踪:
[InvalidCastException: 指定的转换无效。]
DinnerPlat.DAL.RestaurantService.GetRestaurantsBySql(String safeSql) in D:\DinnerPlat\DinnerPlatDAL\RestaurantService.cs:247
DinnerPlat.DAL.RestaurantService.GetAllRestaurants() in D:\DinnerPlat\DinnerPlatDAL\RestaurantService.cs:144
DinnerPlat.BLL.RestaurantManager.GetAllRestaurants() in D:\DinnerPlat\DinnerPlatBLL\RestaurantManager.cs:41
[TargetInvocationException: 调用的目标发生了异常。]
System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +0
System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +72
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +296
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +29
System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance) +484
System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1869
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +13
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +140
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +68
System.Web.UI.WebControls.GridView.DataBind() +5
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +61
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +67
System.Web.UI.Control.EnsureChildControls() +97
System.Web.UI.Control.PreRenderRecursiveInternal() +50
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5729
用CodeSmith生成的,其他表都没问题,就是这个表老是出现这样的问题