0

我有一个列表框,想用数据库中的数据填充它,这两者必须链接,所以如果我从列表框中选择一个值,我可以使用数据库中的条目。

我正在使用断开连接的数据库女巫通过连接字符串进行连接:

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 回答