本人模仿此页http://blog.csdn.net/goding/archive/2007/10/24/1841950.aspx编写将数据导出为dbf文件但总是在下面这个方法private void CreateData()
{ string tempfile=GetRandomFileName();
_fileName=_serverpath+@"Temp\"+tempfile+".dbf";
File.Copy(_serverpath+_templetFile,_fileName,true); string strConn=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+_serverpath+@"Temp\"+";Extended Properties=dBASE 5.0";
string sql="";
if(_fields!=null && _fields!=string.Empty)
sql="Select "+_fields+" From [" + tempfile+"]" ;
else
sql="Select * From ["+ tempfile +"]";
OleDbDataAdapter adpt=new OleDbDataAdapter(sql,strConn);
OleDbCommandBuilder bd =new OleDbCommandBuilder (adpt);
bd.QuotePrefix="[";
bd.QuoteSuffix="]"; DataSet mySet=new DataSet();
adpt.Fill (mySet,tempfile); MoveBatch(_dataSource,mySet.Tables[0]);//批量导出数据 adpt.Update(mySet,tempfile);
}的adpt.Fill (mySet,tempfile);出现如下错误:
Microsoft Jet 数据库引擎找不到对象'tempfile'。请确定对象是否存在,并正确地写出它的名称和路径。请问各位这是哪里的问题,是不是sql写错了
{ string tempfile=GetRandomFileName();
_fileName=_serverpath+@"Temp\"+tempfile+".dbf";
File.Copy(_serverpath+_templetFile,_fileName,true); string strConn=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+_serverpath+@"Temp\"+";Extended Properties=dBASE 5.0";
string sql="";
if(_fields!=null && _fields!=string.Empty)
sql="Select "+_fields+" From [" + tempfile+"]" ;
else
sql="Select * From ["+ tempfile +"]";
OleDbDataAdapter adpt=new OleDbDataAdapter(sql,strConn);
OleDbCommandBuilder bd =new OleDbCommandBuilder (adpt);
bd.QuotePrefix="[";
bd.QuoteSuffix="]"; DataSet mySet=new DataSet();
adpt.Fill (mySet,tempfile); MoveBatch(_dataSource,mySet.Tables[0]);//批量导出数据 adpt.Update(mySet,tempfile);
}的adpt.Fill (mySet,tempfile);出现如下错误:
Microsoft Jet 数据库引擎找不到对象'tempfile'。请确定对象是否存在,并正确地写出它的名称和路径。请问各位这是哪里的问题,是不是sql写错了
这句有错误啊
你看下_serverpath+@"Temp\"这个路径是否正确
http://blog.csdn.net/wonsoft/archive/2010/03/13/5377169.aspx
只要你按这个写,肯定能读写。
我这个问题,在网上一直没有查到解决方法,但前天看见一个和我类似的情况,那位兄弟怀疑sql="Select * From ["+ tempfile +"]";中的tempfile这个文件名是否不能超过8个字符,于是有修改了string tempfile=GetRandomFileName(); 这句,使tempfile不超过8个字符,问题通过。但关键是我又将string tempfile=GetRandomFileName();改为未修改前的状况,及不限制tempfile长度小于8个字符,这时调试时,问题也通过了。这就使我想不通了。同样的代码,为何会出现两个结果,(机子这两天没有开机。)兄弟们,你们对这个是怎么想的