将数据库类中的List返回到c#中的表单

时间:2017-01-07 15:43:37

标签: c#

在一个表单中,我想要一个组合框填充我的数据库中的名称。 与数据库直接相关的一切都发生在我的专用数据库类中。我希望从我的SQL查询中得到的答案转到表单并显示在我的组合框中。

这是我到目前为止所做的:

public string categories()
    {
        InitializeDatabase();
        connection.Open();
        string query = "SELECT Name FROM Categories";
        SqlCommand cmd = new SqlCommand(query, connection);
        using (SqlDataReader reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                catList.Add(reader.GetString(0));
            }
        }
        return catList;
    }

正如我所发现的,我不能简单地将列表归还得太糟糕。 但我真的在如何开展工作。结果需要显示在我的其他形式的组合框中,其中没有任何代码

    public partial class AddImage : Form
{
    DatabaseConnector databaseConnector = new DatabaseConnector();
    public AddImage()
    {
        InitializeComponent();
        databaseConnector.categories();
    }
}

提前谢谢!

1 个答案:

答案 0 :(得分:2)

你可以完全返回一个List - 只是你已经将你的返回类型声明为字符串:

public string Categories()
{

应该是

public List<string> Categories()
{
    var catList = new List<string>();

(另外,由于你的代码不清楚catList的范围是什么,我已经将它声明为类别中的局部变量)