gpt4 book ai didi

c# - 在 C# 中将 SQL 查询中的项目添加到列表框

转载 作者:行者123 更新时间:2023-11-29 04:44:50 24 4
gpt4 key购买 nike

所以我有这段代码可以获取我的查询。

public class Person
{
public string Ad_Name { get; set; }
}

public string[] getNameAd(string username)
{
List<String> columnData = new List<String>();
//var AdNameList = new List<Person>();
this.OpenConnection();
string query = "SELECT `Ad_Name` FROM `cpcboos1_textinfo`.`Ad_Info` WHERE `Ad_Info`.`User` = '" + username + "' LIMIT 0, 1000";
MySqlCommand cmd = new MySqlCommand(query, connection);
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
columnData.Add(reader.GetString(0));
}
}
return columnData.ToList<string>().ToArray();
}

我在主窗体的加载函数中引用了这段代码。

DBConnect sql = new DBConnect(" *snip* ");
stat_campaign.Items.AddRange(sql.getNameAd(tbx_lgn_user.ToString().Trim()));

然而,所有返回的都是文本:“(Collection)”。就是这样。我在 SQL 数据库上运行了查询,它返回了正确的结果。 (目前只有两个。)我做错了什么?

最佳答案

这里有一些事情要做,但这是我的建议:

  • 选择一种可枚举类型并使用它。在这种情况下,您真的不必在 array 之间切换和一个 List<> - 我想要你的 getNameAd方法返回 List<string>所以你可以将它绑定(bind)到你的控件。这也会帮助您稍微组织一下代码(见下文)。

  • 话虽如此,为什么不直接将字符串列表设置为 .DataSource列表框控件的?

    // get the username    
    var userName = tbx_lgn_user.ToString().Trim();

    // get the query results
    var listofStrings = sql.getNameAd(userName);

    // bind the list to your ListBox control
    stat_campaign.DataSource = listofStrings;

关于c# - 在 C# 中将 SQL 查询中的项目添加到列表框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20848842/

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