以前的程序,都是基于Jet OLEDB 3.51的,在2000和XP下一切正常。在Vista下发现读取修改数据库时有问题,比如:“select * from table1 where index = 2 and ZF = 'a'”,在2000系统下,可以返回一条记录值;但在Vista下,返回为空记录。
改成Jet OLEDB 4.0后,则在Vista下可正常返回纪录值。
请教各位高手,是否Vista已经不支持OLEDB 3.51,只能支持OLEDB 4.0?或者是由于其它原因造成的这种情况?

解决方案 »

  1.   

    VISTA 默认安装为 Jet OLEDB 4.0
    == 思想重于技巧 ==
      

  2.   

    从你的描述看,是VISTA没有提供对3.51的支持。建议你把程序升级到OLEDB 4.0上。
    3.51毕竟太老了。
      

  3.   

    改成4.0吧,vista不支持更早的版本,很多老版本的软件都无法使用。
      

  4.   

    谢谢大家的热心帮助。
    可是我的很多程序都是基于OLEDB 3.51的,改成4.0的话,需要改动的地方非常多。
    而且,还发现4.0和3.51是有些不一样的,已经发现的有,改成4.0后,删除记录时会出错,无法正常删除,也不知道是否还有其它地方有这类问题。
    所以,倾向于通过一些措施,能使得vista可以支持3.51.
    个人从网上大致查了一下,没有发现vista明确的说不再支持OLEDB 3.51了,也不知道是我没有查到,还是vista里是可以支持OLEDB 3.51的?