Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

cant  delete image  because it used by anather process

Posted on 2009-07-03
5
Medium Priority
?
256 Views
Last Modified: 2013-12-17
i cant delete the image after i process to DB ,i dont know how to release it .please look to the code.
thank you
private void btnSave_Click(object sender, EventArgs e)
        {
            DirectoryInfo di = new DirectoryInfo("C:/MyDir");
            FileInfo[] rgFiles = di.GetFiles("*.jpg");
            foreach (FileInfo fi in rgFiles){
            try
            {
                //Read Image Bytes into a byte array
                byte[] imageSampleData = ReadImageToBytes(fi.FullName);
 
                //Initialize SQL Server Connection
                SqlConnection con = new SqlConnection(txtConnectionString.Text);
 
                //Set insert query
                string query = "INSERT INTO tblImages (FullPath,MyImageSample) values(@FullPath, @MyImageSample)";
 
                //Initialize SqlCommand object for insert.
                SqlCommand cmd = new SqlCommand(query, con);
 
                cmd.Parameters.Add(new SqlParameter("@FullPath",
                                            (object)fi.FullName));
 
                cmd.Parameters.Add(new SqlParameter("@MyImageSample",
                                                    (object)imageSampleData));
 
                //Open connection and execute insert query.
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
               
                
            }
            catch
            {
                MessageBox.Show("Error while saving image.", "Error");
            }
            fi.Delete();

Open in new window

0
Comment
Question by:mark222
  • 3
  • 2
5 Comments
 
LVL 53

Expert Comment

by:Dhaest
ID: 24772347
Do you want to delete all the images from the directory ?

By the way, fi.Delete() --> which file do you want to delete, because it's outside the loop. It will always contain the latest file :)
0
 

Author Comment

by:mark222
ID: 24772517
thank Dhaest, no it is inside the loop but forget to copy the last char }.
0
 
LVL 53

Expert Comment

by:Dhaest
ID: 24772541
You can try the following. Add the following items behind con.Close();
(probably one of those will block you)
imageSampleData  = null;
cmd = null;
0
 

Author Comment

by:mark222
ID: 24772565
not working , still same problem
0
 

Accepted Solution

by:
mark222 earned 0 total points
ID: 24772672
it is solved ,the problem because  FileStream fStream was not close.
thank you Dhaest
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Suggested Courses

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question