0

リストボックスがあり、データベースからのデータを入力したいのですが、リストボックスから値を選択すると、データベースのエントリを操作できるように、2 つをリンクする必要があります。

接続文字列を介して接続する切断されたデータベース ウィッチを使用しています。

conn = new SqlConnection(Properties.Settings.Default.DBConnectionString)

私はデータセットを読んで、データセットを作成してリストボックスのデータソースとして使用する必要があると考えています。次に、データをきれいに表示するには、表示名を設定する必要があります。

データベース内のテーブルに接続されたデータセットを作成する方法と、それをバインドする方法を教えてください。

データベースはTagCloudDBと呼ばれ、テーブルはTagと呼ばれ、 listbox1だけです。

これは私がこれまでに持っているコードですが、リストボックスを System.Data.DataRowView で埋めるだけです。

using (var conn = new SqlConnection(Properties.Settings.Default.DBConnectionString))
            {
                conn.Open();

                SqlDataAdapter daTags
                = new SqlDataAdapter("Select * From Tag", conn);

                DataSet dsTags = new DataSet("TagCloud");

                daTags.FillSchema(dsTags, SchemaType.Source, "Tag");
                daTags.Fill(dsTags, "Tag");

                daTags.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                daTags.Fill(dsTags, "Tag");

                DataTable tblTag;
                tblTag = dsTags.Tables["Tag"];

                dplTags.DataSource = dsTags;
                dplTags.DataMember = "Tag";
                dplTags.DataBind();
            }

私はVBとコラージュで似たようなことをしましたが、それらにはValueMemberDisplaymemberがあります.C#で同等のものは何ですか

4

1 に答える 1

1
SqlConnection _connection = new Connection(connectionString)
SqlDataAdapter _adapter = new SqlDataAdapter(_connection, "select * from tag")
DataTable _table = new DataTable()
_adapter.Fill(_table)

_connection.Close();

foreach(DataRow _row in _table.Rows)
{
 listbox.AddItem(new Item(_row["column1"], _row["column2"])
}

データテーブルをいじる必要はありません。SQLクエリと自動的にバインドします。

于 2012-05-16T06:18:44.063 に答える