gpt4 book ai didi

c# - 如何将数据库值获取到 c#.net 中的下拉菜单

转载 作者:行者123 更新时间:2023-11-29 11:49:03 25 4
gpt4 key购买 nike

我在 .net 应用程序中使用 mysql 数据库。我有一个动物保护区专栏。我正在尝试将列值提取到下拉列表中。我无法让它工作。

<asp:DropDownList ID="DropDownList1"
runat="server"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>

代码:

if (!IsPostBack)
{
string scon = "SERVER=localhost;DATABASE=animal_adoption_site;UID=root;";
MySqlConnection con = new MySqlConnection(scon);
String s = "select * from animal_details";
MySqlDataAdapter dat = new MySqlDataAdapter(s, con);
DataSet ds = new DataSet();
DropDownList1.Items.Clear();
while (ds.Read())
{
DropDownList1.Items.Add(new ListItem(ds[0].ToString(), ds[0].ToString()));
}
con.Close();
}

我正在获取

Cannot apply indexing with [] to an expression of type 'System.Data.DataSet'

我该如何解决这个问题?

最佳答案

该错误告诉您无法像这样获取 DataSet 的第一个元素。

您希望返回什么?

yourDataSet[0].ToString()

如果您想要第一个DataTable,您可能想尝试一下:

yourDataSet.Tables[0].ToString()

但是在 DataTable 上调用 ToString() 也没有意义。

不必每次填充 Items 集合中的一条记录,只需将整个结果集一次分配给 DataSource 属性即可。 (而且,正如 Soner 指出的那样,您从未真正检索过结果。)

using (var dat = new MySqlDataAdapter(s, con))
{
var dt = new DataTable();

dat.Fill(dt); // retrieve records

DropDownList1.DataSource = dt;
}

我不确定,但您可能还需要根据 DropDownList 设置 DataTextFieldDataValueFieldDataTable 中的列名称。

关于c# - 如何将数据库值获取到 c#.net 中的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34471557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com