|
Source: mscorlib
Inner Exception:
Target: Void FileNotOpen()
Message: Cannot access a closed file.
I keep getting this error and can not figure it out.. I am actually opening a certain file and writing to it, then opening another one then writing to it and so on. Should I not be doing this? Is this causing maybe them not opening in time before it tries to write to them?
FileStream ChildFile = new FileStream(thepath + @"Child\Child.daycare", FileMode.Create);
StreamWriter Childsw = new StreamWriter(ChildFile);
Childsw.WriteLine(fullnameTextbox.Text);
Childsw.WriteLine(birthTextbox.Text);
Childsw.WriteLine(startTextbox.Text);
ChildFile.Close();
Childsw.Close();
FileStream GuardianFile = new FileStream(thepath + @"Guardian\ParentGuardian.daycare", FileMode.Create);
StreamWriter Guardiansw = new StreamWriter(GuardianFile);
Guardiansw.WriteLine(guardNameTextbox.Text);
Guardiansw.WriteLine(relationTextbox.Text);
Guardiansw.WriteLine(textBox1.Text);
Guardiansw.WriteLine(CityStateZipTextbox.Text);
Guardiansw.WriteLine(EmployTextbox.Text);
Guardiansw.WriteLine(Guard2Textbox.Text);
Guardiansw.WriteLine(Relation2Textbox.Text);
Guardiansw.WriteLine(Address2Textbox.Text);
Guardiansw.WriteLine(CityStateZip2Textbox.Text);
Guardiansw.WriteLine(Employ2Textbox.Text);
GuardianFile.Close();
Guardiansw.Close();
There are more.. but should I be doing this a different way?
|
|
|
|
|
When you create one stream from another you should first close the newly created one and then the base one. So this snippet
FileStream ChildFile = new FileStream(thepath + @"Child\Child.daycare", FileMode.Create);
StreamWriter Childsw = new StreamWriter(ChildFile);
Childsw.WriteLine(fullnameTextbox.Text);
Childsw.WriteLine(birthTextbox.Text);
Childsw.WriteLine(startTextbox.Text);
ChildFile.Close();
Childsw.Close();
should be like this:
FileStream ChildFile = new FileStream(thepath + @"Child\Child.daycare", FileMode.Create);
StreamWriter Childsw = new StreamWriter(ChildFile);
Childsw.WriteLine(fullnameTextbox.Text);
Childsw.WriteLine(birthTextbox.Text);
Childsw.WriteLine(startTextbox.Text);
Childsw.Close();
ChildFile.Close();
Also, use using block with streams so that they will be closed and disposed automatically
|
|
|
|
|
Ok I will try that and see if it works.. I was wondering if I should have included something that waited till it was open to start writing but I do not know how to do that and my book doesn't say anything about that.. let me try that and I will be right back.. thanks for the fast response
|
|
|
|
|
Awesome that worked.. thanks so much.. why would that affect it though?
|
|
|
|
|
Glad to help you
When you tried to close the second stream, the base stream was already closed so that was causing a problem.
|
|
|
|
|
I think you should close the StreamWriter before you close the FileStream.
You might find it easier to use the static methods in System.IO.File to create and write text to a file.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
hi,
I am working on projct to save an office file in database sqlserver 2000 I dont know how to do this thanks.
Wafy
|
|
|
|
|
|
Hello.
I want copy part of table from one Database to table in another Database.
In this code in line adp.Fill(dsArchive, "Archives"); i have error of incorrect types of fields. When i removed condition"WHERE..." i haven't errors ,but nothing working. Data don't transfer.(Vial_Date - field of table,type DATATIME, contents - data, for example 22/02/2007; SelectedData - data for condition in SQL) Where i mistaked?
My email: evgenik@sysmop.com.
Thanks.Evgeni Kosakovski.
public void BackupArchivesDB(string SelectedData)
{
int tblArchiveCount, tblBackupCount;
adp = new System.Data.OleDb.OleDbDataAdapter();
DataSet dsArchive = new DataSet();
DataSet dsBackup = new DataSet();
conArchive.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Archives.mdb;Jet OLEDBatabase Password=abc";
conBackup.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Backup.mdb;Jet OLEDBatabase Password=abc";
try
{
conArchive.Open();
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
try
{
conBackup.Open();
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
comArchive.Connection = conArchive;
comArchive.CommandText = "SELECT * FROM Archives WHERE Vial_Date < '" + SelectedData + "'";
comBackup.Connection = conBackup;
comBackup.CommandText = "SELECT * FROM Backup";
try
{
adp.SelectCommand = comArchive;
adp.Fill(dsArchive, "Archives");
adp.SelectCommand = comBackup;
adp.Fill(dsBackup, "Backup");
dsBackup.Merge(dsArchive);
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
finally
{
conArchive.Close();
conBackup.Close();
}
}
|
|
|
|
|
Fix this?
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
Hi,
I need to open a spreadsheet document in a listView. The code that I have opens the document, but only prints the first column's data. I need it to print all the data. I also need to add a new column in the spreadsheet as it loads. Please help!
Regards,
Mvelo Walaza
Developer
Telkom SA
|
|
|
|
|
Good Day,
How can I convert a Full path like C:\Documents and Settings\ to C:\Docum~1\
Regards,
Ian
|
|
|
|
|
GetShortPathName is what you need, theres an example here[^].
Dave
|
|
|
|
|
I don't think there is any built-in support for this in the Framework. However it can be achieved through the Windows API. See this article[^].
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
Hi all,
My main application form occupies two listview controls.
Whenever I select a line in one of the listviews, I lose the selection of the selected line in the 2nd listview.
The solution of setting the 'HideSelection' property to 'true' is not good enough since I want the selected lines in both listviews to be colored blue, not grey.
Any suggestions?
Thanks a lot,
Eyal.
|
|
|
|
|
Write your own code to change the colour of the whole row when it is selected.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
OK, I guess you mean I should select custom color for the line when the control is not in focus (in case 'HideSelection' property iquals 'true').
How do I do that?
Thanks!
|
|
|
|
|
Get a reference to the item(s) that are selected from the SelectedItems property of the control. Then set the BackColor property of each item to an appropriate colour.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
How can i store path name of zip file in DataBase Sql Server so user can download it easily with out effecting on database.
|
|
|
|
|
Member 4370898 wrote: How can i store path name of zip file in DataBase Sql Server so user can download it easily with out effecting on database.
Your question doesn't really make sense.
You want to store a file path in your SQL database? So, just stick it in a table.
What do you mean, 'with out effecting...'?
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
It's just a string, so just store it.
Either you really shouldn't be working on a database app until you learn some basics or ( more likely ) you've not asked what you meant to ask. Is the issue that you don't know how to store the zip files logically in your file system ? There's a Path.GetTemporaryFileName ( or similar ) method you can use to create meaningless unique file names if you're worried about collisions.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Actually i want to store physical path of file in database.so help me.
|
|
|
|
|
Hi All,
I need to consume a XML and I have Request XML and some C# code to consume response.
Now as far as I have seen we can directly call webmethods, by adding web reference.
Not sure if we can use Request XML to call web method. If we can, is there a sample or article discussing this?? Whats the ideal way of doing this??
|
|
|
|
|
You could write a simple web service that returns XML by using a HttpHandler. More information on this topic can be found here[^].
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
Thanks Paul...I dont have control over creating that service. I need to consume that service which accepts and return XMl using Soap. Now the question is "Can I make a request to that Service using Soap XML instead of directly calling those web methods from codebehind??
Keep DotNetting!!
GeekFromIndia
|
|
|
|