未将对象引用设置到对象的实例的错误
类库文件BLL中代码如下
using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using jgzx.IDAL;
namespace jgzx.BLL
{
/// <summary>
/// 业务逻辑类price_wz 的摘要说明。
/// </summary>
public class price_wz
{
public price_wz()
{}
/// <summary>
/// 增加一条数据
/// </summary>
public decimal Add(jgzx.Model.price_wz model)
{
Iprice_wz dal=jgzx.DALFactory.price_wz.Create();
return dal.Add(model);
}
}
}
default.aspx页代码如下
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
//using jgzx.BLL;
namespace jgzx
{
/// <summary>
/// getlisttest 的摘要说明。
/// </summary>
public class getlisttest : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
jgzx.Model.price_wz model=new jgzx.Model.price_wz();
model.price_wz_id=1;
Response.Write(model.price_wz_id);//此时可跟踪到值1
jgzx.BLL.price_wz bll=new jgzx.BLL.price_wz();
bll.Add(model);//提示此行有错,
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
错误信息如下:
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
问题点数:50、回复次数:6Top
1 楼Tony_lau111082(刘寓)回复于 2006-01-13 15:35:01 得分 10
要跟进去看啥。你很多代码没有写出来,光看这个没用Top
2 楼fwjingling(蓝精灵)回复于 2006-01-13 15:35:30 得分 10
在出错行能够跟踪进去吗?Top
3 楼dapang731(大胖)回复于 2006-01-13 15:36:31 得分 10
初步估计缺少相关引用Top
4 楼Aallonlin(风之力)回复于 2006-01-13 15:44:41 得分 20
项目引用,
逐步跟踪。
看哪个值为null.
Iprice_wz dal=jgzx.DALFactory.price_wz.Create();
特别注意这句。dal是否为nullTop
5 楼sino_001()回复于 2006-01-13 16:14:23 得分 0
jgzx.DALFactory.price_wz类代码如下
using System;
using System.Reflection;
using System.Configuration;
using jgzx.IDAL;
namespace jgzx.DALFactory
{
public class price_wz
{
public static jgzx.IDAL.Iprice_wz Create()
{
string path=System.Configuration.ConfigurationSettings.AppSettings["DAL"];
//此处取值path="jgzx.SQLServerDAL.price_wz"
string CacheKey = path+".price_wz";
//此处取值path="jgzx.CacheKey.price_wz"
object objType = DataCache.GetCache(CacheKey);
if (objType == null)
{
try
{
objType = Assembly.Load(path).CreateInstance(CacheKey);
DataCache.SetCache(CacheKey, objType);// 写入缓存
}
catch{}
}
return (Iprice_wz)objType;
}
}
}
Top
6 楼sino_001()回复于 2006-01-14 14:06:00 得分 0
问题已解决。Top




