ASP.NET中怎样释放或关闭打开的文件
我通过 FileUpload上传一个Excel文件到服务器上,然后将它导入SQL数据库中,第一次导入没什么问题,如果第二次
重复上传导入(在没有关闭浏览器的情况下)就提示错误“上传的文件被另一个进程使用”请问怎样释放或关闭打开的文件
string filename = FileUpload1.FileName; //获取Execle文件名 DateTime日期函数
string savePath = Server.MapPath(("~\\upfiles\\") + filename);//Server.MapPath 获得虚拟服务器相对路径
FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
DataSet ds = ExecleDs(savePath, filename); //调用自定义方法
DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组
int rowsnum = ds.Tables[0].Rows.Count;
string lf1 = dr[2][1].ToString();
string yf1 = dr[2][2].ToString();
public DataSet ExecleDs(string filenameurl, string table)/*自定义一个函数读出EXCEL文件中的数据,返回一个数据集*/
{
string strConn = "Provider=Microsoft.ACE.OleDb.12.0;data source=" + filenameurl + ";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
DataSet ds = new DataSet();
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [sheet1$]", conn);/*Excel表的第一个工作薄有名称必须为Sheet1否则会报错*/
odda.Fill(ds);
return ds;/*返回数据集*/
conn.Close();/*关闭连接*/
conn.Dispose();
odda.Dispose();
}
第二次执行到 FileUpload1.SaveAs(savePath); 时出错!