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个参数....有人能帮我一下吗?
使用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提供一个键和一个值。