3層アーキテクチャのC#asp.netアプリケーションを構築しようとすると、データベースへの接続に使用されるクラスであるクラスを構築し始めました。 Cityの各列にメソッドを持つCityクラスと、Cityオブジェクトのリストを作成してGetCities()からのデータを使用するようにDataSourceウィザードを使用するGetCitiesメソッドを持つCitiesクラスです。 。 私はドロップダウンリストで空白になります。どんな考え?オブジェクトのリストからドロップダウンリストを作成する
public List<City> GetCities()
{
List<City> cities = new List<City>();
Database db = new Database();
SqlConnection conn = db.GetConnection();
String sql = "SELECT * FROM CITIES";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
City c = new City(reader.GetInt32(0), reader.GetString(1).ToString());
cities.Add(c);
}
db.CloseConnection();
return cities;
}
おかげ
問題はあなたが共有していないコードにあります!あなたはどのようにリストに値を設定しますか? ** WIZARDが生成するコードは何ですか?** – Aliostad
あなたのコードを記入するためのコードは正常です。問題はドロップダウンリストにどのようにバインドしているか(問題を投稿できるかもしれません)でなければなりません。私はあなたがウィザードを使用していると言ったことを知っています。私はそれが何をしているのかを見るために最初に見えるでしょう。また、データベース接続をクローズしていますが、例外がある場合はクローズされません。 try/finallyを使用するか、ExecuteReaderの呼び出しで、リーダーが閉じられたときに接続が終了し、リーダーにusing()ステートメントを使用することを示します。 –
私が話しているWIZARDは、DropDownListの「データソースの選択」をクリックしている間にアクセスされ、データソースの入力を促すウィンドウがポップアップします。私は新しいデータソースを選択し、 "Access db、SQL db、Entity"などのリストからオブジェクトを選択した別のウィンドウをポップします。その後、別のウィンドウがオブジェクトを選択するようにポップアップします。次へ>私の場合GetCities()メソッドを選択します。 – user228137