Link to home
Start Free TrialLog in
Avatar of g_johnson
g_johnsonFlag for United States of America

asked on

bound datagridview, c#

I have a Windows form with a bound Datagridview, and it's binding source says that the data source is "_783DataSet".  This, of course, comes from my development machine.

How does this data source know its log on information?  How can I change this at run time to point to a specific server/database on the client's machine?

Thank you.
Avatar of kaufmed
kaufmed
Flag of United States of America image

It should be in your app.config file, under the <connectionStrings> element.

e.g.

http://msdn.microsoft.com/en-us/library/ms254494(v=vs.110).aspx
Avatar of g_johnson

ASKER

Does it just pick that up automatically, then?  Do I just deploy it with the application, change the connection info, and it will work?  Or do I have to read it and apply it at run time in some manner?

I never use app.config, as I have developed my own DLL for configuration purposes.
ASKER CERTIFIED SOLUTION
Avatar of kaufmed
kaufmed
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I'm sorry, but I'm very confused.  My solution has 4 projects, two executables (Windows Form apps) and two DLLs.  On the client workstation they all live together.  3 of the projects have an app.config file with them, so if I were using them, I wouldn't know how to sort that out.

However, in this case, I only delivered the one I need, and I changed the server and database names in that file.  Nonetheless, the executable does not seem to be reading it and the connection is not working.

I noticed that my project has 9 Messages, as follows:
Cound not find schema information for the element "supportedRuntime"
This is repeated for version,sku,applicationSettings,MyProjectName.Properites.Settings,setting,name,serializeAs, and value.

I have no idea what these messages are telling me.

Bottom line is that the DataSet is trying to connect to my development database and I don't know how to change that.
3 of the projects have an app.config file with them, so if I were using them, I wouldn't know how to sort that out.
The configs that matter are the ones belonging to the executables--DLL configs are not used by the configuration subsystem (by default). Does the executable(s)'s configuration file have the new database information? If not, and short of that, the only other thing I could think to suggest would be to do a search within your project's code for the old connection string. It may be hard-coded based on your responses in the dialogs that originally set up the DataSets.
I am unable to make this work.  I have removed all components and started from scratch and am still not able to get it to recognize the app.config.  One final question, though.  If I have two or more executables in the same destination folder, won't the config files both me named app.config?  How is that possible?

Like I said.  I'm very confused!  :-)
No. app.config files get renamed during the build process to [ExecutableName].exe.config. Having both in the same output folder should be of no consequence.

When you initially set up the binding source and all of the other pieces, do you see a connection string get output to the app.config file?
I'm going to try one more time and watch what happens.  I believe I have a "clear" app.config right now so I can see what's going on.  That renaming you just mentoined might clear this up for me.  I think I was looking (utlimately) at the wrong thing.