我以前用.net做了个后台程序放在公司服务器(win2003)上,主要是查询dbf文件,运行良好,但最近却出现问题。但放在自己的机子上却很正常。
问题是无法读取数据库文件中表的字段名了,也就是说象select * from table;select count(*) from table这样的语句没问题,但若要是条件查询,如select count(*) from table where sumfield="1" 就出错,提示:The search key is not found in any record.
但如果我安装了delphi7后,又可以运行,卸掉后问题依旧存在。
最近我的机子唯一有变动的只是升级过补丁而已,这有关系吗?(因为我最近是重新编译后再放到服务器上更新才出现这样的错误,服务器的变动也只是升级补丁)
我的主要代码是这样的:
string strConnOledb="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Inetpub\\wwwroot\\data;Extended Properties=dBASE IV;User ID=;Password=";
string sql="select Count(*) from rec0410 where rdate=\
"04/10/16\" and rtype=\"1\"";
其他的数据库操作的应该没问题。有谁可以帮我解决吗?
顺便问个简单的问题,我用"yyyy/MM/dd"转换日期型为字符串时,怎么出来的老是2004-10-10而不只希望的2004/10/10,很纳闷?

解决方案 »

  1.   

    装个新点的mcda2.8还是madc2.8.看看怎么样...
    忘了怎么拼了是mcda还是madc.
      

  2.   

    How to access DBF databases via ASP.NET:
    http://www.tanguay.info/superblog/sb.aspx?p=codeExamples&id=8461320
      

  3.   

    第一个应该是dephi7自带的什么东西起作用了
    第二个用
    DateTime.Now.ToString("yyyy'/'MM'/'dd");
      

  4.   

    谢谢各位。
    我今天用Odbc驱动,结果自己的机子也出现了上述问题。
    还有服务器上有vs.net2003,应该安装了mdac2.7了。因为以前一直是好的,没装delphi,没装其他别的,可以正常运行。
    对dbf不太熟悉,应该是哪里存在问题
      

  5.   

    写成 where 1=1 试试,其他实在想不出来了,
    还有sumfield是字符类型吗,升级是不是对类型匹配要求高了?第二个: Format(Now.Date, "yyyy/MM/dd")
      

  6.   

    where 1=1肯定没问题,字段全部字符型,因为自己机子上可以,怀疑是升级惹的祸,我只能暂时装个delphi,等以后看看,或者想些变通的办法了