ASP.NET中怎样释放或关闭打开的文件

mtxxm1226 2017-03-08 04:09:16
我通过 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); 时出错!
...全文
299 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mtxxm1226 2017-03-08
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
return ds;/*返回数据集*/ conn.Close();/*关闭连接*/ conn.Dispose(); odda.Dispose(); 这句移动到最底下,你都return 了,怎么还会执行close之类的操作呢
能为能请版主帮我看一下以下两个贴子呢 http://bbs.csdn.net/topics/392101044 http://bbs.csdn.net/topics/392094002
mtxxm1226 2017-03-08
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
return ds;/*返回数据集*/ conn.Close();/*关闭连接*/ conn.Dispose(); odda.Dispose(); 这句移动到最底下,你都return 了,怎么还会执行close之类的操作呢
真的是这样,没注意到这个问题 太谢谢了
  • 打赏
  • 举报
回复
return ds;/*返回数据集*/ conn.Close();/*关闭连接*/ conn.Dispose(); odda.Dispose(); 这句移动到最底下,你都return 了,怎么还会执行close之类的操作呢

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧