在VB数据库编程过程中经常遇到而无法解决地问题?
我在工作中用的基本上是MSSQL+VB,在这当中经常碰到一个问题,我打个比方:有很多个表和3个视图,其中2个视图的查询是基于这些表的(暂且称这两个视图为基本视图),另外一个视图的查询是基于上面提到的这两个基本视图的(暂且称它为高级视图)。我所要用到的就是这个高级视图返回的记录集。我再做个假设,这个高级视图返回的是一个库的库存;这两个基本视图返回的分别是入库单和领料单记录。比如现在是2月份,我要返回1月份或者是去年12月份的库存(简单返回这个高级视图的记录集只是到目前的库存),那么我就需要修改这两个基本视图的查询条件,加上"where Date>=2003-1-1 and Date<=2003-1-31"语句。而这个条件语句是根据用户在你的VB程序对话框中输入的日期决定的。所以你需要在程序运行中修改这两个视图的where语句,当然你也可以用alter view来完成这个任务。
但是,注意:我上面的只是比方,实际上我返回这个高级视图需要有20多个基本视图和基于基本视图和高级视图之间的中间视图,我不可能用alter view去修改视图的查询(这样很费力)。我如果用程序中的代码来实现也可以,但是速度相当的慢。
所以我想问:在VB中能不能对VB中通过数据库联接返回的记录集进行再次嵌套的查询(select),就像在MSSQL中一样,可以对视图再次进行很多次的select?
为什么要这样做呢,因为我可以在VB中很方便的改变掉“基本的记录集”,已此来改变最终返回的需要的记录集?