2017-02-07 1 views
-1

InvalidOperationException: База данных не открыта Mono.Data.Sqlite.SqliteCommand.InitializeForReader()Sqlite соединения в Unity3d

Привет, ребята Кто-нибудь знает, как решить эту проблему в Unity5 трудное время, соединяющую оценка базы данных в моей игре

private string connectionString; 

// Use this for initialization 
void Start() 
{ 
    connectionString = "URI=file:" + Application.dataPath + "/Db_Score.sqlite"; 
    GetScores(); 
} 
// Update is called once per frame 
void Update() { 

} 
private void GetScores() 
{ 

    using (IDbConnection dbConnection = new SqliteConnection(connectionString)) 
    { 
     using(IDbCommand dbCmd = dbConnection.CreateCommand()) 
     { 
      string sqlQuery = "SELECT * FROM Tbl_Score"; 
      dbCmd.CommandText = sqlQuery; 
      using(IDataReader reader = dbCmd.ExecuteReader()) 
      { 
       while(reader.Read()) 
       { 
       Debug.Log(reader.GetString(1)+" "+ reader.GetInt32(2)); 
       } 
       dbConnection.Close(); 
       reader.Close();     
      } 
     } 
    } 
} 

ответ

0

Вам не нужен метод Open().

private void GetScores() 
{ 

    using (IDbConnection dbConnection = new SqliteConnection(connectionString)) 
    { 
     dbConnection.Open(); // <-- Here! 
     using(IDbCommand dbCmd = dbConnection.CreateCommand()) 
     { 
      string sqlQuery = "SELECT * FROM Tbl_Score"; 
      dbCmd.CommandText = sqlQuery; 
      using(IDataReader reader = dbCmd.ExecuteReader()) 
      { 
       while(reader.Read()) 
       { 
       Debug.Log(reader.GetString(1)+" "+ reader.GetInt32(2)); 
       }      
       reader.Close();     
      } 
     } 
     dbConnection.Close(); 
    } 
} 
+0

ОК спасибо ... –

+0

@RvDiaz Если это правильный ответ, отметьте его. благодаря – Smartis