在VB中Recordset有个游标位置属性,你用过没有BookMark,他是只读的,Move函数就是找游标的,结合Move就是做你这个事情的。
Dim hang as Integer
If Not Adodc1.Recordset.EOF And hang>0
Adodc1.Recordset.Move hang-1
MsgBox Adodc1.Recordset.Fields("字段列名"), vbOkOnly, "指定行指定列的值"
End If
第二个办法是通过SQL语句,查询的时候直接解决了:
Dim hang as Integer
Adodc1.RecordSource="Select Top 1 * From 表 in (Select top " + Cstr(hang) + "from 字段名) Order By 字段名 DESC"
抽取所选行数,倒叙排列,取整理后的第一行数据。这样整个数据就只有一行了,你要取哪一列就哪一列,比起上面速度当然慢一点,每次都要查数据库。
VB.NET的ADO就修正了找游标的缺陷,这就是为什么大家有摈弃VB6.0去用VB.NET写更冗繁的ADO过程,ADO把Dateset类似小型数据库,他就象数组一样。
DataSet ds =New DataSet()
ds.Tables[0].Rows[行][列]
这样是不是更清晰
第一个:查询下拉框的选项select a.Name,a.ID form TBMenu a where a.IsUsed=1
查询Name和ID: Name为显示文字,ID用于在选择这个选项后根据ID值进行下一步的查询
在你后台执行SQL的时候返回一个dateset 然后用combobox的datasuoce绑定,怎么绑需要自己找例子,很好的学习过程。
第二个:根据选择的菜单查询需要的信息
select * from Infomations a where a.MenuID=ID(选择下拉框选项对应的ID值)
在下拉框中选择“主食”,点击查询按钮,肯定是要查询和主食相关的数据,那就通过主食对应的ID(也就是下拉框绑定的时候查询的ID)去数据库对应的关联表中查询对应的信息。
这个地方你没有描述清楚你想实现的效果所以,根据你在上面补充的内容推测出的这些东西。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)