Object reference not set to an instance of an object.一般是什么原因造成?

alanzhou 2005-08-29 04:55:50
Object reference not set to an instance of an object.一般是什么原因造成?
...全文
125141 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
易酷天 2010-05-27
  • 打赏
  • 举报
回复
private string marshalColumn;

public void InitStorage(string sConnectionString,string sTable,string sKey,string sProgID,string sMarshalColumn,string sDateChanged)
{
connectionString = sConnectionString;
tableNamne = sTable;
primaryKey = sKey;
if(!Convert.IsDBNull(sProgID))
progID = sProgID;
else
progID = string.Empty;

if(!Convert.IsDBNull(sMarshalColumn))
marshalColumn = sMarshalColumn;
else
marshalColumn = " ";
if(!Convert.IsDBNull(sDateChanged))
dateChanged = sDateChanged;
else
dateChanged = string.Empty;
}
这个在InsertData之前调用了
3tzjq 2005-08-30
  • 打赏
  • 举报
回复
if(!Convert.IsDBNull(sMarshalColumn))
marshalColumn = sMarshalColumn;
else
marshalColumn = "";

直接改为:marshalColumn = sMarshalColumn;

alanzhou 2005-08-30
  • 打赏
  • 举报
回复
private string marshalColumn;

public void InitStorage(string sConnectionString,string sTable,string sKey,string sProgID,string sMarshalColumn,string sDateChanged)
{
connectionString = sConnectionString;
tableNamne = sTable;
primaryKey = sKey;
if(!Convert.IsDBNull(sProgID))
progID = sProgID;
else
progID = string.Empty;

if(!Convert.IsDBNull(sMarshalColumn))
marshalColumn = sMarshalColumn;
else
marshalColumn = "";
if(!Convert.IsDBNull(sDateChanged))
dateChanged = sDateChanged;
else
dateChanged = string.Empty;
}
这个在InsertData之前调用了
3tzjq 2005-08-30
  • 打赏
  • 举报
回复
贴出你的 marshalColumn 属性看一下。
alanzhou 2005-08-30
  • 打赏
  • 举报
回复
else
{
#if DEBUG
Console.Write("marshalColumn=" + marshalColumn + "!"); //这里没有输出
#endif

这里就没有输出了,到不了下面的代码
3tzjq 2005-08-30
  • 打赏
  • 举报
回复
可疑代码:
OrderForm objOrderF = orderform as OrderForm;

Dictionary objShopper = orderform as Dictionary;

fac.Save(objOrderF|objShopper); 时可能objShopper = null。
if(obj... != null)fac.Save(obj...)
alanzhou 2005-08-30
  • 打赏
  • 举报
回复
这是用C#写COM给asp调。我在工程里用vbs来测。

public void InsertData(object a,object orderform)
{
string sql = string.Format("SELECT * FROM {0} WHERE {1} = @{1} ", tableNamne, primaryKey); //这个我试过输出了正确
#if DEBUG
Console.Write("marshalColumn=" + marshalColumn + "!"); //marshalColumn是private property,这里输出 marshalColumn=!
#endif
if(marshalColumn != "")
{
fac = new OrderFormFac(connectionString, sql,marshalColumn,"^_.*");
OrderForm objOrderF = orderform as OrderForm;
fac.Save(objOrderF);
}
else
{
#if DEBUG
Console.Write("marshalColumn=" + marshalColumn + "!"); //这里没有输出
#endif

fac = new OrderFormFac(connectionString,sql);
Dictionary objShopper = orderform as Dictionary;
#if DEBUG
Console.Write("orderform.shopper_id=" + objShopper["shopper_id"]);
#endif
fac.SaveAs(objShopper);
}

}

然后错误信息Object reference not set to an instance of an object

这么怎么回事?
alanzhou 2005-08-30
  • 打赏
  • 举报
回复
居然还是报这个错!
还要检查。

搞定了就给分
xamaizi 2005-08-30
  • 打赏
  • 举报
回复
变量为初始化造成的
cdo 2005-08-30
  • 打赏
  • 举报
回复
就是该对象为null
3tzjq 2005-08-30
  • 打赏
  • 举报
回复
string 类型应该用 if (marshalColumn != string.Empty) 判断。而marshalColumn = "" 和 marshalColumn = string.Empty 结果是一样的!所以不用判断。
alanzhou 2005-08-30
  • 打赏
  • 举报
回复
ok,搞定了,谢谢3tzjq(永不言弃)。

为什么会这样?
alanzhou 2005-08-29
  • 打赏
  • 举报
回复
谢谢,找到那个未实例化的对象了。
看别人的代码挺累的。
xianggang101 2005-08-29
  • 打赏
  • 举报
回复
或者你用的变量根本就没有!
MyLf 2005-08-29
  • 打赏
  • 举报
回复
就是没有实例化一个对象啦
速马 2005-08-29
  • 打赏
  • 举报
回复
比如:

string GetText()
{
return null;
}

void ParseText()
{
string[] values = GetText().Split(',');
}
linfengcyl 2005-08-29
  • 打赏
  • 举报
回复
译:未将对象引用到对象的实例.
声明了变量,但是没有赋值,仍然为null.用的时候就会报错.
内容概要:本文提出了一种融合元胞自动机邻域驱动遗传算法与关键工序定向随机重启爬山算法(GA-RRHC)的混合优化方法,用于求解高柔性柔性作业车间调度问题(FJSSP),以实现最小化最大完工时间的目标。该算法通过元胞自动机构建动态邻域结构,增强种群多样性与搜索效率,结合遗传算法的全局探索能力和随机重启爬山算法的局部精细化优化能力,并引入关键路径识别机制指导搜索方向,有效避免陷入局部最优。整个方法在Matlab平台上实现了完整的算法流程与仿真实验,验证了其在复杂调度场景下的优越性能与鲁棒性,适用于高柔性制造系统的生产调度优化需求。; 适合人群:具备一定编程基础和运筹优化背景,从事智能制造、工业工程、自动化或相关领域研究的研发人员及研究生(工作或学习年限1-3年)。; 使用场景及目标:①解决高柔性作业车间中多工序、多设备、多约束条件下的调度优化难题;②研究混合智能优化算法的设计与实现机制,特别是遗传算法与局部搜索策略的融合方式;③为实际生产系统提供高效的调度方案,缩短生产周期,提高资源利用率。; 阅读建议:此资源以Matlab代码为核心载体,强调算法实现与仿真实验的结合,建议读者在阅读过程中动手运行并调试代码,深入理解元胞邻域构造、关键路径识别及随机重启机制的作用,同时可拓展应用于其他组合优化问题。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧