读书人

CSV导入SQL,该怎么处理

发布时间: 2013-09-06 10:17:17 作者: rapoo

CSV导入SQL
大家好,

首先声明,本人是经过在网上仔细查找后,才来这里发帖的。



private void 导入_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "请选择要导入的文件:";
dlg.Filter = "Csv文件(*.csv)|*.csv|所有文件|*.*";
dlg.Multiselect = true;

if (dlg.ShowDialog() == DialogResult.OK)
{
string[] FileNames = dlg.FileNames;

foreach (string FileName in FileNames)
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Text;Data Source=" + FileName);

DataSet DS = new DataSet();

string str = string.Format("select * from {0}", FileName);

OleDbDataAdapter Adapter = new OleDbDataAdapter(str, conn);

OleDbCommandBuilder Builder = new OleDbCommandBuilder(Adapter);

Adapter.Fill(DS, "FileName");

int Total = DS.Tables[0].Rows.Count;

Builder.Dispose();
Adapter.Dispose();


DS.Dispose();
conn.Dispose();

MessageBox.Show(Total.ToString());
}
}
}

程序总是报错,FileName不是一个有效的路径。麻烦高人指点一下。

谢谢大家。
[解决办法]
要带盘符:\目录\的物理路径试试
[解决办法]
你传入的参数不正确。


OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Text;Data Source=" + FileName);

FileName应该换成文件夹。比如"f:\\"


string str = string.Format("select * from {0}", FileName);

FileName应该换成文件名。比如"001.csv"

读书人网 >C#

热点推荐