我创建一个FileUpload控件, 让用户上传一个csv格式的文件,然后将文件预存到服务器下的temp文件夹中,然后想通过逐行读取csv中的数据,来更新数据库,但每次执行到adapter.Fill(dt_Bugdet_Packing_List)这行代码时,就提示:'D:\Projects\temp\Buget_Packing_List.csv'不是一个有效的路径.确定路径名称拼写是否正确,以及是否连接到文件存放的服务器.注:D:\Projects\是我的项目根目录.文件'D:\Projects\temp\Buget_Packing_List.csv'这个路径也是正确的.
if (FileUpload1.HasFile)
{
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/temp/Bugdet_Packing_List.csv"));
string str_Conn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='text;HDR=YES;FMT=TabDelimited'", Server.MapPath("~/temp/Bugdet_Packing_List.csv"));
string cmdText = "SELECT * FROM Bugdet_Packing_List.csv";
System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(cmdText, str_Conn);
DataTable dt_Bugdet_Packing_List = new DataTable();
adapter.Fill(dt_Bugdet_Packing_List);
gv_Update_Budget_Packing_List.DataSource = dt_Bugdet_Packing_List;
}
if (FileUpload1.HasFile)
{
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/temp/Bugdet_Packing_List.csv"));
string str_Conn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='text;HDR=YES;FMT=TabDelimited'", Server.MapPath("~/temp/Bugdet_Packing_List.csv"));
string cmdText = "SELECT * FROM Bugdet_Packing_List.csv";
System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(cmdText, str_Conn);
DataTable dt_Bugdet_Packing_List = new DataTable();
adapter.Fill(dt_Bugdet_Packing_List);
gv_Update_Budget_Packing_List.DataSource = dt_Bugdet_Packing_List;
}
string csvDir = @"C:\test1.xls";
if (csvDir.Trim().ToUpper().EndsWith("CSV"))
{
int ipos = csvDir.LastIndexOf("\\");
string filePath = csvDir.Substring(0, ipos + 1);
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='text;HDR=YES;FMT=Delimited;'";
string commandText = "select * from " + csvDir.Replace(filePath, "");
}