您的当前位置:首页正文

C#对DBF数据库的操作

2024-11-07 来源:个人技术集锦

引:

 

 

 

测试:

aspx 代码

<head runat="server">
    <title>无标题页</title>

<script language="javascript" type="text/javascript">
// <!CDATA[

function File_onChenge() {
    var obj = window.event.srcElement;
    var hdnpath=window.document.all.hdnFilePath;
    hdnpath.value=obj.value;
}

// ]]>
</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        &nbsp;<input id="openFile" type="file" οnchange="File_onChenge()" />
        <input id="hdnFilePath" type="hidden" runat="server" />
        <input id="button1" runat="server" type="button" onserverclick="button1_ServerClick" value="Test"/>
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
   
    </div>
    </form>
</body>

 

aspx.cs代码

    protected void button1_ServerClick(object sender, EventArgs e)
    {
        OleDbConnection conn = new OleDbConnection();

        string strTable = "/"" + hdnFilePath.Value.Trim() + "/"";
        //hdnFilePath.Value.Trim();
        conn.ConnectionString = @"provider=vfpoledb.1;;data source=" + strTable;
        conn.Open();
        OleDbCommand cmd = new OleDbCommand();
        cmd.Connection = conn;
        cmd.CommandText = "set delete on ";
        cmd.CommandType = CommandType.Text;
        cmd.ExecuteNonQuery();
        string SQLSE1 = "select *  from " + strTable;
        OleDbDataAdapter da = new OleDbDataAdapter(SQLSE1, conn);
        DataTable dt = new DataTable();
        //DataSet ds1 = new DataSet();
        da.Fill(dt);
        GridView1.DataSource = dt.DefaultView;
        GridView1.DataBind();
}

 

读取成功!

 

sql 2005 读取DBF文件

使用 OLE DB 连接并访问远程数据的一次性的临时方法:从文件读取数据并将数据作为行集返回

只有在以下情况下才能使用 OPENROWSET 访问 OLE DB 数据源中的远程数据:指定访问接口的 DisallowAdhocAccess 注册表选项已显式设置为 0,并启用了 Ad Hoc Distributed Queries 高级配置选项。如果未设置这些选项,则默认行为不允许即席访问。

 

--将test.dbf中的数据复制到temp(数据库自动新创建的)表中

select * into temp from
openrowset('MICROSOFT.JET.OLEDB.4.0','dBase 5.0;DATABASE=d:/datebase/','select * from [test.dbf]')


注意:select * from [test.dbf]test.dbf的文件名(不包括扩展名)长度不能超过8位,否则会提示找不到对象
详细可参考MSDN

 

测试

SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase 5.0;DATABASE=E:/','select * from [PJ111.DBF]')

 

 

读取成功!

 

 

 

此外还在网上查到其它相关资料,但尚未亲自测试

 

 

 

 

asp.net 读写dbf文件

 

C#对DBF数据库的操作

 

 

C#读取DBF文件(以文件形式读取dbf数据)

 

 

Top