【发布时间】:2012-04-14 00:25:51
【问题描述】:
希望这次是一个非常简单的问题。我在一个数据库连接器类中有一个Select方法,如下;
public List <string> [] Select(string mQuery)
{
//Create a list to store the result
List<string>[] datalist = new List<string>[1];
datalist[0] = new List<string>();
//Open connection
if (this.OpenConnection() == true)
{
//Create Command
MySqlCommand cmd = new MySqlCommand(mQuery, mConnection);
//Create a data reader and Execute the command
MySqlDataReader dataReader = cmd.ExecuteReader();
//Read the data and store them in the list
while (dataReader.Read())
{
datalist[0].Add(dataReader["id"] + "");
}
//close Data Reader
dataReader.Close();
//close Connection
this.CloseConnection();
//return list to be displayed
return datalist;
}
else
{
return datalist;
}
}
当我想访问“datalist”时,我假设我这样称呼它;
results = mDB.Select(mQuery);
但是因为返回的值是一个列表,我需要把这个变量赋值给一个新的列表,像这样吗?
List<string>[] results = new List<string>[1];
results[0] = new List<string>();
results = mDB.Select(mQuery);
string result = results[0].ToString();
MessageBox.Show(result);
此消息框仅生成“System.Collections.Generic.List1(System.String)”
关于我做错的逻辑有什么想法吗?
【问题讨论】:
-
您不需要执行 ToString()。它已经是一个字符串列表
-
results[0] 也是收藏。 results[0] 包含您的数据库列。您必须选择其中一列