我正在尝试用从SQlite数据库获得的信息填充两个列表。
我可以让第二个填充,但这意味着需要打开两次数据库并调用另一个公共列表。 这是唯一的方法吗? 或者也许有一种方法可以做类似于 Public List[] LoadData() 的事情?
public class Investor // List
{
public int iID { get; set; }
public string iName { get; set; }
public string iDisplayName { get; set; }
public string iArea { get; set; }
}
public class Area // List
{
public int aID { get; set; }
public string aName { get; set; }
public string aDisplayName { get; set; }
}
并且
public class training : MonoBehaviour {
public List<Investor> Investor()
{
var listOfInvestor = new List<Investor>();
string conn = "URI=file:" + Application.dataPath + "/db_01.s3db";
IDbConnection dbconn;
dbconn = (IDbConnection) new SqliteConnection(conn);
dbconn.Open();
IDbCommand dbcmd = dbconn.CreateCommand();
string sqlQuery = "SELECT * "+" FROM investor; SELECT * "+" FROM Area;";
dbcmd.CommandText = sqlQuery;
IDataReader reader = dbcmd.ExecuteReader();
while(reader.Read())
{
var investor = new Investor();
investor.iID = Convert.ToInt32(reader["i_id"]);
investor.iName = reader["i_name"].ToString();
investor.iDisplayName = reader["i_display_name"].ToString();
investor.iArea = reader["i_area"].ToString();
listOfInvestor.Add(investor);
}
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbconn.Close();
dbconn = null;
return listOfInvestor;
}
我可以让第二个填充,但这意味着需要打开两次数据库并调用另一个公共列表。 这是唯一的方法吗? 或者也许有一种方法可以做类似于 Public List[] LoadData() 的事情?
public List<Investor> Investor()
而不是一个假设的List<Area> Area()
。 - Kyan