tanjy

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  1 Posts :: 2 Stories :: 12 Comments :: 0 Trackbacks

公告

昵称:tanjy
园龄:6年
粉丝:0
关注:0

搜索

 
 

常用链接

最新评论

      现在大部分C#连接数据库都会是sql server 。但对一些旧的数据库文件的连接和操作就不太熟了。
      今天就有这个问题,要对FOXPRO生成的DBF文件数据库进行操作。
      我在CSDN上查了很久,大部分有问题都没很好地回复到这些操作上的问题。
      经过我的实验,用ODBC来连接它就可以了。
      下面是所用的代码。
      都很简单,就是格式上要注意。和用开的查询语句会有很大不同。
protected void Page_Load(object sender, EventArgs e)
    {
        System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();
        string table = @"D:\aaa\code.dbf";
        string connStr=@"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + table + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";

        conn.ConnectionString = connStr;
        conn.Open();
       

        OdbcCommand cmd = new OdbcCommand();
        cmd.Connection = conn;
        string sql = "update " + table + " set other='2',rate=1.014 ";
        cmd.CommandText = sql;
        cmd.CommandType = CommandType.Text;
        cmd.ExecuteNonQuery();

         sql = @"select * from " + table;
        OdbcDataAdapter da = new OdbcDataAdapter(sql,conn);
        DataTable dt = new DataTable();
        da.Fill(dt);
        this.GridView1.DataSource = dt.DefaultView;
        this.GridView1.DataBind();

    }
注意点:1 连接串的格式。2 所对应的表名必须要有路径。

posted on 2006-11-14 10:20 tanjy 阅读(6649) 评论(12) 编辑 收藏

Feedback

我试用过了,真的很不错,比网上其它方法好多了
谢谢再谢谢
 回复 引用   
不错,我在C#里面搞定了,非常感谢
 回复 引用   
先谢谢 再慢慢看
 回复 引用   
顶个
 回复 引用   
还没有看懂,这么多的人叫好,俺先试试,一回来给你回话、
 回复 引用   
DELPHI 利用DBE, TDataBase可连接到路径下的 *.dbf

c#怎能能够达到这样的效果?
 回复 引用   
真的十分感谢,很好很实用,多谢了.
 回复 引用   
确实好用,十分感谢,o(∩_∩)o...哈哈
 回复 引用   
谢谢 !很有用
 回复 引用   
#10楼2009-04-27 17:10李明阳
太感谢了,近来正好用到!
 回复 引用   
1,最近也用到这个,但有一点注意:
2003操作系统装的vfpodbc.dll是1.0版本,这会造成连接不上,要换成6.1.8630.1版本,服务器位置C:\WINDOWS\system32,特别对于有多台服务器集群的,部署的时候要保证一致的版本!
 回复 引用 查看   
#12楼2011-08-13 16:31xin_ny      
怎么向dbf中插入数据啊!!!
 回复 引用 查看