Post by alex on Feb 2, 2021 18:58:34 GMT
Its my first try of library and already not working, very disappointed with stacktrace error
using SimpleSQL;
public class Player
{
[PrimaryKey]
public int PlayerID { get; set; }
public string Name { get; set; }
public int Level { get; set; }
public int Coins { get; set; }
public int Gems { get; set; }
public int Goblets { get; set; }
}
public SimpleSQL.SimpleSQLManager dbManager;
void Start()
{
Player playerStats = new Player
{
Name = "New Player",
Level = 3,
Coins = 50000,
Gems = 300,
Goblets = 4321
};
dbManager.Insert(playerStats);
string sql = "SELECT * FROM Player";
List<Player> players = dbManager.Query<Player>(sql);
foreach (Player player in players)
{
print(player.PlayerID + ". " + player.Name + " (" + player.Level + ")");
}
}
And NOT very informative stacktrace:
SQLiteException: Constraint
SimpleSQL.SQLiteConnection.Execute (System.String query, System.Object[] args) (at <9d351781d88446ec91fb4a6de237d175>:0)
SimpleSQL.SQLiteConnection.Insert (System.Object obj, System.String extra, System.Type objType, System.Int64& rowID) (at <9d351781d88446ec91fb4a6de237d175>:0)
SimpleSQL.SQLiteConnection.Insert (System.Object obj, System.Int64& rowID) (at <9d351781d88446ec91fb4a6de237d175>:0)
SimpleSQL.SimpleSQLManager.Insert (System.Object obj, System.Int64& rowID) (at <9d351781d88446ec91fb4a6de237d175>:0)
SimpleSQL.SimpleSQLManager.Insert (System.Object obj) (at <9d351781d88446ec91fb4a6de237d175>:0)
Test.Start () (at Assets/Scripts/Test.cs:22)
SimpleSQL.SQLiteConnection.Execute (System.String query, System.Object[] args) (at <9d351781d88446ec91fb4a6de237d175>:0)
SimpleSQL.SQLiteConnection.Insert (System.Object obj, System.String extra, System.Type objType, System.Int64& rowID) (at <9d351781d88446ec91fb4a6de237d175>:0)
SimpleSQL.SQLiteConnection.Insert (System.Object obj, System.Int64& rowID) (at <9d351781d88446ec91fb4a6de237d175>:0)
SimpleSQL.SimpleSQLManager.Insert (System.Object obj, System.Int64& rowID) (at <9d351781d88446ec91fb4a6de237d175>:0)
SimpleSQL.SimpleSQLManager.Insert (System.Object obj) (at <9d351781d88446ec91fb4a6de237d175>:0)
Test.Start () (at Assets/Scripts/Test.cs:22)
Line 22 is dbManager.Insert(playerStats);
if I remove this line dbManager.Insert(playerStats);
everything works fine, its prints 0. New Player (3)
because I already have inserted it once.
Where could be the problem?
P.S. its not working only for Insert with Class Definition