如何将dbf文件读入datagridview [英] How to read file dbf into datagridview

查看:85
本文介绍了如何将dbf文件读入datagridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将文件dbf读入datagridview



How to read file dbf into datagridview

private void button1_Click(object sender, EventArgs e)
        {

            OpenFileDialog fdlg = new OpenFileDialog();
            fdlg.Title = "Select file";
            fdlg.InitialDirectory = @"E:\0.Project\Combine\S230201C31C4UnZip";
            fdlg.Filter = "DBF Files(*.dbf)|*.dbf|All Files(*.*)|*.*";
            fdlg.FilterIndex = 1;
            fdlg.RestoreDirectory = true;
            if (fdlg.ShowDialog() == DialogResult.OK)
            {
                Import(fdlg.FileName);

                Application.DoEvents();
            }
        }

void Import(string filename)
        {
            DataTable dt = GetDataTableDBF(filename);
            dataGridView1.DataSource = dt.DefaultView;
        }

        DataTable GetDataTableDBF(string str)
        {

            OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path.GetFullPath(str).Replace(System.IO.Path.GetFileName(str), "") + ";Extended Properties=dBASE IV;User ID=Admin;Password=;");

            conn.Open();

            string strQuery = "SELECT * FROM [" + System.IO.Path.GetFileName(str) + "]";

            OleDbDataAdapter adapter = new OleDbDataAdapter(strQuery, conn);

            DataSet ds = new DataSet();
            adapter.Fill(ds);

            return ds.Tables[0];

        }

推荐答案

试试这个





Try this


using System.Data.OleDb; 
        private void ImportDBF_Load(object sender, EventArgs e) 
        { 
            if (ofdDBF.ShowDialog()==DialogResult.OK) 
            { 
                string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ofdDBF.FileName.Substring(0, ofdDBF.FileName.LastIndexOf("\\")) + ";Extended Properties=dBASE IV;"; 
 
                OleDbConnection conn = new OleDbConnection(connStr); 
                conn.Open(); 
 
                string cmd_string = "select * from " + ofdDBF.SafeFileName.Substring(0, ofdDBF.SafeFileName.IndexOf(".")); 
                MessageBox.Show(cmd_string); 
                OleDbDataAdapter da = new OleDbDataAdapter(cmd_string, conn); 
                DataSet ds = new DataSet(); 
                da.Fill(ds); 
                dgvImport.DataSource = ds.Tables[0]; 
 
            } 
 
        }


这篇关于如何将dbf文件读入datagridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆