如何验证多列表

本文关键字:列表 验证 何验证 | 更新日期: 2023-09-27 18:12:38

我有以下代码从数据库中选择记录:

 public List<string>[] Select(string Command)
    {
        string query = Command;
        //Create a list to store the result
        List<string>[] list = new List<string>[2];
        list[0] = new List<string>();
        list[1] = new List<string>();

        //Open connection
        if (this.OpenConnection() == true)
        {
            //Create Command
            MySqlCommand cmd = new MySqlCommand(query, connection);
            //Create a data reader and Execute the command
            MySqlDataReader dataReader = cmd.ExecuteReader();
            //Read the data and store them in the list
            while (dataReader.Read())
            {
                list[0].Add(dataReader["NIK"] + "");
                list[1].Add(dataReader["Password"] + "");                    
            }
            //close Data Reader
            dataReader.Close();
            //close Connection
            this.CloseConnection();
            //return list to be displayed
            return list;

        }
        else
        {
            return list;
        }
    }

我的表中有2列,即NIKPassword,表中有2行,即1, 12, 1

我如何验证如果列表包含NIK = 2和Password = 1?我怎么知道如果选择语句成功地从我的表中获取记录?如何将多列表打印到文本框中?

如何验证多列表

您应该考虑使用Dictionary<string, string>而不是List<string> s数组。

你可以打印所有的记录:

foreach (var pair in dictionary)
    Console.WriteLine(pair.Key + ", " pair.Value);

每个字典对中的第一个字符串是键,第二个字符串是值。

如果列表包含NIK = 2和Password = 1,我如何验证?

浏览列表并检查。例如,使用Enumerable.Any.

我如何知道select语句是否成功地从表中获取记录?

如果没有抛出异常。

如何将多列表打印到文本框中?

从数据库返回的值构造一个字符串(例如使用StringBuilder)并将其赋值给TextBox.Text.


顺便说一句,你应该考虑将读取器和连接封装在using块中。这样,即使在发生异常的情况下,资源也将被确定性地释放。

另外,考虑使用特定类型的getter从读取器读取数据(如GetString、GetInt32等)。