我以前用.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,很纳闷?
问题是无法读取数据库文件中表的字段名了,也就是说象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,很纳闷?
忘了怎么拼了是mcda还是madc.
http://www.tanguay.info/superblog/sb.aspx?p=codeExamples&id=8461320
第二个用
DateTime.Now.ToString("yyyy'/'MM'/'dd");
我今天用Odbc驱动,结果自己的机子也出现了上述问题。
还有服务器上有vs.net2003,应该安装了mdac2.7了。因为以前一直是好的,没装delphi,没装其他别的,可以正常运行。
对dbf不太熟悉,应该是哪里存在问题
还有sumfield是字符类型吗,升级是不是对类型匹配要求高了?第二个: Format(Now.Date, "yyyy/MM/dd")