samesdavis Posted September 2, 2014 Report Share Posted September 2, 2014 Olá pessoal, Estou precisando de resolver um problema, tenho uma aplicação montada em 4 camadas -Acesso a Dados -Apresentação -Objeto de Transferência -Negócios Minha connectionstring ficou definida na camada de acesso a dados, mas ficou fixa enquanto eu estava desenvolvendo o sistema, onde o local era E:\SISTEMAS\CSHARP\MEUSISTEMA Mas como vou enviar esse sistema para meu cliente, quero que essa localização possa mudar independente de onde ele estiver executando o sistema ou até mesmo em um drive de rede. Como tenho pouca experiência em c# estou aqui pedindo ajuda. Alguém pode me orientar o que devo fazer? Sames Link to comment Share on other sites More sharing options...
nelsonr Posted September 2, 2014 Report Share Posted September 2, 2014 Boas, uma forma que poderás usar é ter a connection string definida num ficheiro de configuração (.txt) ou mesmo o app.config. Ao entrar na aplicação, lês do ficheiro de configuração. Convem é guardar a password encryptada, de forma a não ficar facilmente acessível Link to comment Share on other sites More sharing options...
samesdavis Posted September 7, 2014 Author Report Share Posted September 7, 2014 Como eu disse, sou novato nessa área, preciso de ajuda. Posso até usar o app.config, só preciso de saber como usá-lo. Preciso que ele seja um arquivo editável, a senha ficará dentro do arquivo executável, só preciso de guardar o CAMINHO da base de dados Access. Quando a aplicação for iniciada, ela irá ler esse arquivo app.config e irá buscar o caminho que deverá ficar guardado lá, se o caminho não for encontrado, o operador irá apontar onde está a base de dados e esse novo caminho será gravado nesse arquivo. Só preciso de saber COMO fazer isso que descrevi em C#. Link to comment Share on other sites More sharing options...
nelsonr Posted September 7, 2014 Report Share Posted September 7, 2014 ConfigurationManager.AppSettings Property http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings%28v=vs.110%29.aspx Exemplo da app.config <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="CaminhoBaseDados" value="c:\caminho\basedados.mdb"/> </appSettings> </configuration> Ler valor do app.config e mostrar usando uma messagebox MessageBox.Show(ConfigurationManager.AppSettings["CaminhoBaseDados"]); Tens de adicionar uma referencia ao System.Configuration nas referencias do projecto. Link to comment Share on other sites More sharing options...
samesdavis Posted September 7, 2014 Author Report Share Posted September 7, 2014 ConfigurationManager.AppSettings Property http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings%28v=vs.110%29.aspx Exemplo da app.config <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="CaminhoBaseDados" value="c:\caminho\basedados.mdb"/> </appSettings> </configuration> Ler valor do app.config e mostrar usando uma messagebox MessageBox.Show(ConfigurationManager.AppSettings["CaminhoBaseDados"]); Tens de adicionar uma referencia ao System.Configuration nas referencias do projecto. ok, está funcionando. muito obrigado. Digamos que eu defina o caminho inicial da aplicação como c:\meusistema\minhabasededados.accdb mas o usuário resolveu deixar essa base de dados em um drive de rede tipo E:\sistemas\minhabasededados.accdb como esse value do app.config será alterado? Link to comment Share on other sites More sharing options...
nelsonr Posted September 8, 2014 Report Share Posted September 8, 2014 Podes usar algo assim para alterar o valor no app.config Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath); config.AppSettings.Settings["CaminhoBaseDados"].Value="novocaminho"; config.Save(ConfigurationSaveMode.Minimal); Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now