可以,但是变量不能用ClassA或B来定义,可以用Object,或ClassA,ClassB的基类,,使用类的成员时,再把变量类型转换成相应的类
创新互联建站拥有十多年成都网站建设工作经验,为各大企业提供网站设计、网站建设服务,对于网页设计、PC网站建设(电脑版网站建设)、app软件开发公司、wap网站建设(手机版网站建设)、程序开发、网站优化(SEO优化)、微网站、空间域名等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了很多网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等网站化运作于一体,具备承接各种规模类型的网站建设项目的能力。
Dim da As String = "SELECT Count(检测项目) FROM b where 检测项目='cc'"
这句写错啦,你直接传送的是检测项目为字符串"cc"的参数,并不是你程序写的CC参数
改为:
Dim da As String = "SELECT Count(检测项目) FROM b where 检测项目='" cc "'"
建议通过程序组织的sql语句可以通过msgbox da 弹出来看看,这样你较容易查出是什么错误,较长的就用textbox1.text=da来看了,不过记得设置断点"exit sub"
使用ACCESS数据库的日期列比较,应为:
"select * from 表 where 日期列=" "#" cdate(textbox1.text) "#"
注意前后两个“#”号
使用sqlserver
"select * from 表 where 日期列=" "'" cdate(textbox1.text) "'"
当然日期格式要注意,如长短日期等。
日期期间:between 小日期 and 大日期(记得加#号)
读取的是什么PLC? CCLINK一般做不到你提出的这个需求的。
VB.NET中是可以监控PLC中的数据的,要知道PLC的通讯协议就可以监控了。
Dim cc As String(),这样只是定义了一个数组类型的变量,它的值为Nothing,所以后面会出NullReferenceException。
定义数组要这么定义Dim cc(k) As String
还有你为什么要用参数k呢,可以通过list.Count来获得列表中元素的数量。
Private Function GetText(list As List(Of TextBox)) As String()
If list Is Nothing Then Throw New ArgumentNullException("list")
Dim k As Integer = list.Count - 1
Dim cc(k) As String
For i As Integer = 0 To k
cc(i) = list(i).Text
Next
Return cc
End Function
还有一些其他方法,比如用convertAll
Dim Texts = list.ConvertAll(Function(txt) txt.Text).ToArray
或者LINQ:
Dim ts = (From c In list Select c.Text).ToArray
ConvertAll返回类型就是List(Of T),LINQ返回类型是IEnumerable(OF T)。它们都有ToArray()方法来转化为数组,不过很多时候其实用不着转化成数组。
上面两种语法至少要VS2008才支持