在SQLite-net中读取数据

时间:2018-01-17 22:27:37

标签: c# android sqlite unity3d sqlite-net

我最近开始了一个使用SQLite4Unity3D的新项目,该项目也使用了SQLite-Net。我在观看了一些视频并使用SQLite后开始使用它,并且在Unity编辑器中一切正常,然后我决定在Android上测试它并发现它不会工作所以经过一些搜索后我遇到了SQLite4Unity3D哪个与android一起工作。我已将数据库部分写入,但无法弄清楚如何阅读并将其放入列表中。我之前使用的代码是(此代码工作没有任何问题。

private void ShowLogs() {
       GetTables();
    for(int i = 0; i < LogDates.Count; i++)
    {

        GameObject tempObjec = Instantiate(ListPrefab.gameObject);
        LogDate tempList = LogDates[i];

        tempObjec.GetComponent<LogdateScript>().SetList(tempList.Date, tempList.Name, tempList.ID, tempList.Section);

        tempObjec.transform.SetParent(CloneParrent);
    }
}
private void GetTables()
{



LogDates.Clear(); 
        using (SQLiteConnection dbConnection = new 
SQLiteConnection(DatabaseName))
        {
            dbConnection.Open();

            using (IDbCommand dbCmd = dbConnection.CreateCommand())
            {
                string sqlQuery = "SELECT *FROM WorkLog";

                dbCmd.CommandText = sqlQuery;

                using (IDataReader reader = dbCmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        LogDates.Add(new LogDate(reader.GetString(0), 
reader.GetString(1), reader.GetString(2), reader.GetString(2)));

                    }
                    //TestText.text = reader.GetString(1);
                    dbConnection.Close();
                    reader.Close();
                }
            }
        }  
}

这在Windows中运行良好,但在android中运行不正常。 我想知道有没有办法使用SQLite4Unity3d重新创建它?我可以从表中获取数据并将其输出但是我不知道如何将它放入列表中就像我一样在上面的代码中。

public IEnumerable<LogDate> GetTable()
{
    return _connection.Table<LogDate>();

}

0 个答案:

没有答案