面向对象的高手请进来,搞了一天了,真不知道问什么???谢谢!

krlin100 2003-07-15 04:51:00
我写了一个类如下:
Public Class _rnfl
Dim dtrn As Double

Public Sub New(ByVal rnfldataset As DataSet, ByVal stcd As String)
Dim crow As DataRow = rnfldataset.Tables("st_rnfl_r").Rows("stcd=" & stcd & "")
dtrn = crow.Item("dtrn")
End Sub
Public Property p() As Double
Get
Return dtrn
End Get
Set(ByVal Value As Double)
dtrn = Value
End Set
End Property
End Class
然后调用他的代码如下:
Dim stcd1 = New _rnfl(rnfldataset, "00001")
TextBox1.Text = stcd1.p
出现的错误如下:
Error: 未将对象引用设置到对象的实例。

请各位指点迷津,谢谢,一定给分!
...全文
50 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
solo108 2003-07-15
  • 打赏
  • 举报
回复
用这种方法查datatable里符合条件的数据试试

string strWhere = "dd=" + dd + " and aa=" + aa + " ";
DataRow[] dracc1 = dtAcc.Select(strWhere1);
isage2002 2003-07-15
  • 打赏
  • 举报
回复
可以通过
rnfldataset.Tables("st_rnfl_r").Rows("stcd=" & stcd & "")
返回row吗?
条件设置在rows里面,我没见过这种用法
:)
isage2002 2003-07-15
  • 打赏
  • 举报
回复
Dim aa As _rnfl = New _rnfl(rnfldataset, "111111")
问题出现在你得dataset1上,并不是类或类的实现出现问题
krlin100 2003-07-15
  • 打赏
  • 举报
回复
会不会时我的参数传递有问题???
lanbaibai 2003-07-15
  • 打赏
  • 举报
回复
Dim stcd1 as New _rnfl(rnfldataset, "00001")
maskzha 2003-07-15
  • 打赏
  • 举报
回复
Dim stcd1 as _rnfl
stcd1=New _rnfl(rnfldataset, "00001")
maskzha 2003-07-15
  • 打赏
  • 举报
回复
Dim stcd1 as Class _rnfl
stcd1=New _rnfl(rnfldataset, "00001")
krlin100 2003-07-15
  • 打赏
  • 举报
回复
还是不行
abiho 2003-07-15
  • 打赏
  • 举报
回复
呵呵,是这句错了 Dim stcd1 = New _rnfl(rnfldataset, "00001")
应该为 Dim stcd1 as _rnfl = New _rnfl(rnfldataset, "00001")
szch 2003-07-15
  • 打赏
  • 举报
回复
Dim stcd1 as Class _rnfl= New _rnfl(rnfldataset, "00001")
krlin100 2003-07-15
  • 打赏
  • 举报
回复
不行啊,搂主!
visualcpu 2003-07-15
  • 打赏
  • 举报
回复
或者这样看看!

Public Class _rnfl
Dim dtrn As Double
public sub _rnf1()

end sub

Public Sub New(ByVal rnfldataset As DataSet, ByVal stcd As String)
Dim crow As DataRow = rnfldataset.Tables("st_rnfl_r").Rows("stcd=" & stcd & "")
dtrn = crow.Item("dtrn")
End Sub
Public Property p() As Double
Get
Return dtrn
End Get
Set(ByVal Value As Double)
dtrn = Value
End Set
End Property
End Class
然后调用他的代码如下:
Dim stcd1 = New _rnfl()
strcd1.New(rnfldataset, "00001")
TextBox1.Text = stcd1.p

看看这样行吗?
visualcpu 2003-07-15
  • 打赏
  • 举报
回复
Public Sub New(ByVal rnfldataset As DataSet, ByVal stcd As String)
Dim crow As DataRow = rnfldataset.Tables("st_rnfl_r").Rows("stcd=" & stcd & "")
dtrn = crow.Item("dtrn")
End Sub
改为:

Public Sub _rnfl(ByVal rnfldataset As DataSet, ByVal stcd As String)
Dim crow As DataRow = rnfldataset.Tables("st_rnfl_r").Rows("stcd=" & stcd & "")
dtrn = crow.Item("dtrn")
End Sub

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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