|
Ummm don't update the database path you don't want changed to the ofd.filename?
|
|
|
|
|
hi spacix,
Basically,what i am doing is read excel file to dataset(using oledbconnection) and update this dataset into my database. My original database path is C:\, but when i use OpenFileDialog to get the excel file's path then the database path will be change. So, i will get error when update dataset into database because the .mdb was not found.
Any idea?
|
|
|
|
|
This is problably because you're not using fully qualified paths in your code or your using CurrentDirectory in it. You should ALWAYS build fully qualified paths to files in your code to avoid this very problem.
Also, using CurrentDirectory to build a path name is not a good idea because all of the File dialog's change what the current directory is and, therefore, can inadventantly change your file paths if they are not built properly.
|
|
|
|
|
You beat me to it
It looks like your are using what Microsoft calls the "working directory" which is the last directory your program accessed and can even be changed when a .lnk file is made to your application.
If you just do something like
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXML("<rootnode><subnode /></rootnode>");
xmlDoc.Save("myXMLfile.xml");
it'll spit the XML file out where the last "working directory" is set. You can read where your working at with the Directory.GetCurrentDirectory() method.
When you open something say in the same folder as your application. Use the string property "StartUpPath"
"System.Windows.Forms.Application" class or hook the current process and get the image path and call an Environment.GetFolderPath() on the fill path and filename.
|
|
|
|
|
If it helps...
OpenFileDialog and SaveFileDialog have a RestoreDirectory property... if true, it restores the chosen directory when the dialog closes. (The 'restored' directory is the InitialDirectory ).
I don't know if that is what you mean.
Matthew Butler
|
|
|
|
|
I wonder, while navigating a FileDialog on the UI thread, if the current directory changes on a background thread BEFORE the dialog closes and returns from RestoreDirectory?? Hmmm, something I'll have to test when I get some free time.
|
|
|
|
|
Hi Matthew,
Its work great to me.Now after i openfiledialog, it will restore the original path for me.Thanks
regard
cocoon
|
|
|
|
|
Hi Dave, what is your mean by "fully qualify path"?Can you please give an example?
Spanix, thanks for you reply,i will try it
Matthew, isn't if i use the restoredirectory after OpenFileDialog, the path will get back to original path?
|
|
|
|
|
Full drive and path specification:
C:\Program Files\CompanyName\AppName\SomeFolder\SomeFile.txt
|
|
|
|
|
Hi Dave,
Thanks for fast reply.I will try it (I have been solve the problem by using matthew's suggestion)
|
|
|
|
|
It's still good and future proof to use full path for the database in case next time other people use OpenFileDialog and didn't set the restore flag.
|
|
|
|
|
|
hi
i get the following error while uploading and reading an excel file THROUGH LOCALHOST.
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005
if i run the program normally F5 from VSTS it works absoulutely fine. All the excel file data gets uploaded to the database.
I guess the problem occurs when the object of Excel application class is created... i tried giving permissions to ASPNET NETWORK SERVICE ADMINISTRTOR for accessing the DCOM object but still it doesnt work!
I AM USING WINDOWS VISTA as my OS.
Thanks
adi_nik
|
|
|
|
|
Hi guys
Does anyone know where we can find very accomplished Biztalk developers and architects? We have a nice opportunity for them over here....
thanks
steve
|
|
|
|
|
I've not used URI's a lot of late, but I just noticed that telling the Uri constructor:
System.Uri(string uriString, bool dontEscape)
in .NET 2.0 to not escape the string is depicted AND the function isn't even included in the framework > 2.0)
MSDN says to just use Uri(string uriString)
If you use that how the heck can you send something to "mypage.html?view=2.0" if it escapes all strings entered?
modified on Friday, April 18, 2008 2:45 PM
|
|
|
|
|
Wow, never thought I'd see something this dumb, done by the .NET team...
I found the solution:
You have to make Two URI's and use one as the base URI, so now you have two strings (for no reason), more than one line of code, and two URI objects...
example:
Uri base = new Uri("http://www.google.com/search");
Uri final = new Uri (base, "q=WTF");
Which is sooo much easier and better than:
Uri final = new Uri ("http://www.google.com/search?q=WTF", true);
WTF! why on earth would a programmer willing change it TO this?? This belongs on http://www.thedailywtf.com not in .NET
|
|
|
|
|
Hi Im having a problem with SQL and C#.
Here is a copy of my code where the problem is occurring.
private void button1_Click(object sender, EventArgs e)<br />
{<br />
oleDbConnection1.Open();<br />
oleDbDataAdapter1.SelectCommand.CommandText = "SELECT * FROM NASDATA where account = 'test'";<br />
oleDbDataAdapter1.UpdateCommand.ExecuteNonQuery();<br />
oleDbConnection1.Close();<br />
}
I get an exception error on the ExecuteNonQuery line.
NullReferenceException was unhandled.
Object refernece not set to an instance of an object.
On the design page i have the Oledb connector and dataadapter setup, and the test connection succeeds.
Note: I had this same problem using an Access database to.
I really hope somebody can help.
Many thanks!
|
|
|
|
|
Put a breakpoint on the ExecuteNonQuery line. When the program gets there is oleDbDataAdapter1.UpdateCommand null?
|
|
|
|
|
I apologise, i realise i put the update command instead of select.
However, i get the same problem (nullreferenceexception) if i change the code to the following:
oleDbConnection1.Open();<br />
oleDbDataAdapter1.UpdateCommand.CommandText = "UPDATE NASDATA SET EMAIL = 'TESTEMAIL' WHERE ACCOUNT = 'TEST'";<br />
oleDbDataAdapter1.UpdateCommand.ExecuteNonQuery();<br />
oleDbConnection1.Close();
It breaks on the UpdateCommand.CommandText line, saying NullReferenceException was unhandled.
Object refernece not set to an instance of an object.
|
|
|
|
|
it's the same problem. oleDbDataAdapter1.UpdateCommand is not set to a valid object (meaning that it's null) but you're trying to access its members. Add this:
oleDbDataAdapter1.UpdateCommand = new OleDbCommand();
before you try to use UpdateCommand .
|
|
|
|
|
Hi there,
how can i use application A to do something from another application?
Both applications are in C#
One application keeps track of something and when needed, needs to fire an event in the other application.
I could use arguments to start an application, but in this case the other application is already running.
Any tips or examples here?
I'm not sure as how to call it,...it's a little like client server, but,...
Hoping for some info...
Jan
|
|
|
|
|
There are number of things you can do, though "keeps track of something" is rather vague.
If it's a database you could use SQLNotification so one app will be aware changes the other app has made to the database. The same can be done with files using a FileSystemWatcher.
only two letters away from being an asset
|
|
|
|
|
Mark Nischalke wrote: There are number of things you can do
Yes there are. In this case I like the idea of putting two fingers in this guys eyes the way Moe[^] used to do. Nyak nyak nyak woop woop!
led mike
|
|
|
|
|
If the apps are running on the same machine, you can use pipes[^] or .NET remoting or WCF to communicate between the two processes.
|
|
|
|
|
You can .NET send message to the .NET handle (kind of / sort of like a pipeline), invoke (if one process spawned/grabbed the other one), and even use the use native win32 API's also...
|
|
|
|