如何将dbf文件读入datagridview [英] How to read file dbf into datagridview
本文介绍了如何将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屋!
查看全文