Solved

cant  delete image  because it used by anather process

Posted on 2009-07-03
5
240 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

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Suggested Solutions

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
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…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

747 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now