这是代码:
protected void Page_Load(object sender, EventArgs e)
{
string connectString = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=E:\dbf数据\;Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(connectString);
conn.Open();
string sql = @"select *from CalData";
OdbcDataAdapter da = new OdbcDataAdapter(sql, conn);
DataSet set = new DataSet();
da.Fill(set);
this.GridView1.DataSource = set;
this.GridView1.DataBind();
}
这是错误:
ERROR [42S02] [Microsoft][ODBC Visual FoxPro Driver]Not a table.
------解决方案--------------------------------------------------------
@"select *from CalData.dbf";
------解决方案--------------------------------------------------------
同意!
------解决方案--------------------------------------------------------
我试了.还是那个错误. 我的那个文件是一个客户给我们的.就是一个DBF后缀的文件. 我用软件打开了.总共有300多列.我不知道是这个原因不.
------解决方案--------------------------------------------------------
我调试看了.是在数据填充的时候出错的. 求高手.求解答啊.
------解决方案--------------------------------------------------------
vfp字段最多为255,超过300那就不是vpf表了。
http://msdn.microsoft.com/en-US/library/3kfd3hw9(v=vs.80).aspx
------解决方案--------------------------------------------------------
试一试只选择几个字段。
Select <col1>, <col2> form CalData.dbf
------解决方案--------------------------------------------------------
这个有什么解决方法没.因为那个dbf不是我们公司开发的,是别人给的. 那怎么办.
------解决方案--------------------------------------------------------
还是不行啊.杯具
------解决方案--------------------------------------------------------
就是我想问一下. 有没有办法,在.net 里面把这个dbf转为sqlserver数据库的一个表.然后再进行读.求代码
------解决方案--------------------------------------------------------
那么这个dbf是什么格式的文件?只要知道格式就能转