いくつかのテキストボックスにデータを入力するために、MicrosoftAccessデータベースファイルからデータを取得しようとしています。 (テキストボックスはすべてXAMLで実行されます。)データベースファイルにアクセスされていないため、何かが不足していると確信しています。
これが私のコードです:
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);
}
注:太字は正しくないと確信しています。ただし、これらの括弧に何が入っているのかはよくわかりません。最初は、ファイルパスが移動する場所だと思いました。そのセクションをコメントアウトすると、エラーは消えました。
上記の方法を使用してデータベースからデータを取得するにはどうすればよいですか?何が足りないのですか?
コード内のいくつかのエラー:
ConfigurationManager.ConnectionStrings
データベース(1つ以上)にアクセスするための情報が保存されているアプリ構成の特定のセクションを参照します。セクションには、次のような行が含まれています
<connectionStrings>
<add name="MyDataBase" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=C:\myFolder\myAccess2007file.accdb;
Persist Security Info=False"/>
</connectionStrings>
(アプリの有効な接続文字列を作成するには、 www.connectionstrings.com を参照してください)
したがって、コードは「name」キーを使用してこれらのセクションの音声を参照します。
string connString2 = ConfigurationManager.ConnectionStrings["MyDataBase"].ConnectionString;
スペースを含む列名を広範囲に使用しているため、クエリのテキストが失敗するようになりました。この場合、すべての列名を角かっこで囲む必要があります。
string query2 = @"SELECT [Manager ID], [Manager FName], [Manager LName], .....
App.configまたはweb.configファイルには、ConnectionStringsセクションがあります。
<configuration>
<connectionStrings>
<add name="MyConnection" connectionString="..."/>
</connectionStrings>
...
</configuration>
あなたはあなたのコードでそれにアクセスすることができます:
string connString2 = ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString;