Gestor de configuração.Ligações.Questão Da Ligação
estou a tentar obter dados de um ficheiro de Base de dados Microsoft Access, a fim de preencher várias caixas de texto. (As caixas de texto são todas feitas em XAML. Tenho a certeza que me está a escapar alguma coisa, porque o ficheiro da base de dados não é acedido.
Aqui está o meu código: DataTable tblVFWPostManagers = new DataTable();
string connString2 = ConfigurationManager.ConnectionStrings**/*["\\Documents\DatabaseFile.accdb"]*/**.ConnectionString;
string query2 = @"SELECT Manager ID, Manager FName, Manager LName, Manager Address, Manager City, Manager State, Manager Zip Code,
Manager Home Phone Number, Manager Cell Phone Number, Manager Email FROM tblVFWPostManagers";
//Fill the VFWPostManagers Set with the data
using (SqlConnection conn2 = new SqlConnection(connString2))
{
SqlDataAdapter da2 = new SqlDataAdapter(query2, conn2);
da2.Fill(tblVFWPostManagers);
}
Nota: tenho a certeza que o bolded está incorrecto. No entanto, Não tenho a certeza do que vai para esses suportes. Presumi, no início, que era para onde ia o filepath. Quando comentei essa secção, erro desaprovado no entanto.
Como posso obter os dados da minha base de dados usando o método acima? O que me está a escapar?
2 answers
Alguns erros no seu código:
ConfigurationManager.ConnectionStrings
Referências uma secção específica da configuração do seu app onde estão guardadas as informações para aceder às suas bases de dados (uma ou mais). A secção contém linhas como estas
<connectionStrings>
<add name="MyDataBase" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=C:\myFolder\myAccess2007file.accdb;
Persist Security Info=False"/>
</connectionStrings>
(para criar um conector válido para a sua aplicação olhe para www.connectionstrings.com)
Então o seu código refere-se a estas vozes de seção Usando a chave 'nome' com
string connString2 = ConfigurationManager.ConnectionStrings["MyDataBase"].ConnectionString;
Disse que agora o texto da sua consulta vai falhar porque você usa colunas extensivas nomes com espaços. Neste caso, todos os nomes das colunas devem estar entre parênteses rectos.
string query2 = @"SELECT [Manager ID], [Manager FName], [Manager LName], .....
Na tua aplicação.config ou web.ficheiro de configuração tem uma secção de ligações:
<configuration>
<connectionStrings>
<add name="MyConnection" connectionString="..."/>
</connectionStrings>
...
</configuration>
Você pode acessá-lo no seu código:
string connString2 = ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString;