未將物件引用設定到物件的例項

2021-07-28 08:53:27 字數 1531 閱讀 7417

在敲機房充值記錄查詢的過程中,當我呼叫工廠方法,例項化乙個dal層資料庫類返回乙個充值記錄查詢的介面,當執行這個介面的方法的過程中出現了如下的錯誤:未將物件引用設定到物件的例項

出現問題原因:

工廠層:例項化了sqlservercharge_querydal類的乙個物件,返回idal.iselectdal介面

'充值記錄查詢

public shared function charge_query() as iselectdal

dim daluserinfoname as string = assemblyname & "." & strdb & "charge_querydal"

return ctype(assembly.load(assemblyname).createinstance(daluserinfoname), idal.iselectdal)

end function

但是在dal層,我把充值記錄查詢的方法寫在了selectdal類裡.

'學生充值記錄查詢

public function charge_query(byval cardinfo as jfentity.cardinfo) as datatable implements iselectdal.charge_query

'傳參賦值

sqlparams =

sql = "select cardno as 卡號,addmoney as 充值金額,date as 充值日期,time as 充值時間,userid as 充值教師 from recharge_info where cardno= @cardno"

table = sqlhelper.execselect(sql, commandtype.text, sqlparams)

return table

end function

所以導致當我在b層寫icharge_query = jffactory.charge_query例項化乙個類的物件,但是charge_query方法卻在類selectdal裡,所以就會出現

沒有例項化出來方法所對應的物件錯誤。

解決辦法:

把工廠中把例項化sqlservercharge_querydal的過程改為例項化selectdal.如下:

'充值記錄查詢

public shared function charge_query() as iselectdal

dim daluserinfoname as string = assemblyname & "." & "selectdal"

return ctype(assembly.load(assemblyname).createinstance(daluserinfoname), idal.iselectdal)

end function

未將物件引用設定到物件的例項

今天又遇到了未處理nullreferenceexception未將物件引用設定到物件的例項的錯誤.在google上搜了一下,有以下原因可造成該錯誤的發生.1 viewstate 物件為null。2 dateset 空。3 sql語句或datebase的原因導致datareader空。4 宣告字串變數...

未將物件引用設定到物件的例項

一 網路上的一般說法 1 viewstate 物件為null。2 dateset 空。3 sql語句或datebase的原因導致datareader空。4 宣告字串變數時未賦空值就應用變數。5 未用new初始化物件。6 session物件為空。7 對控制項賦文字值時,值不存在。8 使用request...

未將物件引用設定到物件的例項

物件引用沒有設定到物件例項的原因很多 1 如下 public intrevise refint numline,refint numcircle,refint numtext,system.io.streamwriter str w,list string record,extextend,line...