如何验证多列表

时间:2013-05-08 00:23:18

标签: c# list

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

 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行,1121

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

2 个答案:

答案 0 :(得分:0)

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

然后您可以打印所有记录:

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

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

答案 1 :(得分:0)

  

如何验证列表是否包含NIK = 2和密码= 1?

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

  

我怎么知道select语句是否成功从我的表中获取记录?

如果没有抛出异常。

  

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

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


顺便说一句,你应该考虑在using块中封闭阅读器和连接。这样,即使在例外的情况下,资源也将被确定地释放。

另外,请考虑使用特定于类型的getter来读取阅读器中的数据(例如GetStringGetInt32等。)