日期:2014-05-17  浏览次数:20534 次

.NET读取DBF出错.就解答.很急急急急急急....
   
这是代码:
    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";
------解决方案--------------------
引用:
@"select  *from CalData.dbf";

同意!
------解决方案--------------------
引用:
@"select  *from CalData.dbf";

我试了.还是那个错误. 我的那个文件是一个客户给我们的.就是一个DBF后缀的文件. 我用软件打开了.总共有300多列.我不知道是这个原因不.
------解决方案--------------------
引用:
引用:@"select  *from CalData.dbf";
同意!
我调试看了.是在数据填充的时候出错的. 求高手.求解答啊.
------解决方案--------------------
vfp字段最多为255,超过300那就不是vpf表了。
http://msdn.microsoft.com/en-US/library/3kfd3hw9(v=vs.80).aspx
------解决方案--------------------
试一试只选择几个字段。

Select <col1>, <col2> form CalData.dbf
------解决方案--------------------
引用:
vfp字段最多为255,超过300那就不是vpf表了。
http://msdn.microsoft.com/en-US/library/3kfd3hw9(v=vs.80).aspx

这个有什么解决方法没.因为那个dbf不是我们公司开发的,是别人给的. 那怎么办.
------解决方案--------------------
引用:
试一试只选择几个字段。

Select <col1>, <col2> form CalData.dbf

还是不行啊.杯具
------解决方案--------------------
就是我想问一下. 有没有办法,在.net 里面把这个dbf转为sqlserver数据库的一个表.然后再进行读.求代码
------解决方案--------------------
那么这个dbf是什么格式的文件?只要知道格式就能转