.Net Framework 4.0 に WPF フォームがあります。私がやろうとしているのは、コンボボックスにクエリの結果を入力することです。私はこれを行うことができますが、コードの重複を防ぐために、入力したいコンボボックスごとに使用/呼び出しできるクラスを作成しようとしています (複数のコンボボックスが同じクエリの結果を共有します)。
私は以下のようにクラスを構築しました:
internal class DatabaseHandle
{
private string _connectionString =
"Data Source=FINALLYWINDOWS7\\TESTING;Initial Catalog=Testing;Integrated Security=true";
public string PopulateTeamMembers()
{
string queryString = "select setting_main"
+ " from [marlin].[support_config]"
+ " where config_code = 30"
+ " and setting_active = 1"
+ " order by setting_main";
using (var connection = new SqlConnection(_connectionString))
{
var command = new SqlCommand(queryString, connection);
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
return reader[0].ToString();
}
reader.Close();
}
catch (Exception ex)
{
return "Error, unable to load";
}
}
return null;
}
}
そして、別のクラスには次のメソッドがあります。
private void LoadInterface()
{
DatabaseHandle testing = new DatabaseHandle();
string teammembers = testing.PopulateTeamMembers();
comboBoxResolvedBy.Items.Add(teammembers);
}
これにより、クエリの最初の値のみが入力されることを除いて、コンボ ボックスが入力されます。データを確認しましたが、すべてが正しいですが、LoadInterface メソッドからのクエリ結果を列挙する方法がわかりません。