c# ASP.NET - method 'Add'接受1个参数

本文关键字:接受 1个 参数 Add ASP method NET | 更新日期: 2023-09-27 18:17:00

我下面有这个函数,我要做的是连接到数据库,运行查询并将结果放在列表中,然后返回列表。这是我目前为止写的

 public class AirportClass
    {
        private string connectionString;
        private SqlConnection connection;
        private SqlCommand command;
        private Dictionary<string, List<string>> items;
        public AirportClass()
        {
            connectionString = @"Server=server;database=database;uid=username;pwd=password;";
        }
        public Dictionary<string, List<string>> getListItems()
        {
            items = new Dictionary<string, List<string>>();
            connection = new SqlConnection(connectionString);
            command = new SqlCommand("SELECT * FROM Table");
            command.Connection = connection;
            connection.Open();
            SqlDataReader dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                string data = dataReader[0].ToString();
                items.Add(data);
            }
            connection.Close();
            return items;
        }
    }

我已经运行了调试器,我可以看到我正在获得连接,数据正在返回,我只是有麻烦将项目放入列表中。当我添加items.Add(data)时,我得到错误,说没有重载方法' add '需要1个参数....有人能帮我一下吗?

c# ASP.NET - method 'Add'接受1个参数

使用List而不是Dictionary:

 public class AirportClass
    {
        private string connectionString;
        private SqlConnection connection;
        private SqlCommand command;
        private List<string> items;
        public AirportClass()
        {
            connectionString = @"Server=server;database=database;uid=username;pwd=password;";
        }
        public List<string> getListItems()
        {
            items = new List<string>();
            connection = new SqlConnection(connectionString);
            command = new SqlCommand("SELECT * FROM Table");
            command.Connection = connection;
            connection.Open();
            SqlDataReader dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                string data = dataReader.GetValue(0).ToString();
                items.Add(data);
            }
            connection.Close();
            return items;
        }
    }

这是因为items不是List<T>,而是Dictionary如果要向Dictionary添加内容,则需要提供key(第一个参数)和value(第二个参数)

因为字典的value类型是List<String>,所以第二个参数必须是List<string>

类似

的内容
items.Add(dataReader[0].ToString(), dataReader.ToList().convertAll(itm => itm.toString()));

您需要为Dictionary提供一个键和一个值。