Search Unity

SimpleSQL - SQLite integration with Unity3D

Discussion in 'Assets and Asset Store' started by echo17, Jul 12, 2012.

  1. ibps13

    ibps13

    Joined:
    Oct 6, 2012
    Posts:
    113
    You don't need nData to work with SimpleSQL, nData provide a great workflow and separate logic and UI:



     
  2. trelobyte

    trelobyte

    Joined:
    Nov 17, 2010
    Posts:
    53
    Great to hear !
    Please let us know when you find the elegant solution you are looking for Android echo17, i would be most interested.
    It would also be great to hear of an estimated time for its availability if there is one.
    many thanks
     
  3. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    ibps is correct in that nData is not required, but just makes your workflow more structured. You can create your nGUI interface directly from the data pulled from SimpleSQL, but I like that nData automatically updates the interface for you when you change your underlying data. It implements a clear separation from the View (interface) the ModelView (the logic to create the interface -- nData) and the Model (SimpleSQL data).

    If you have Android pro, I can email you a file and some instructions on how to get it up and running. No solution for Android Indie, though.
     
  4. trelobyte

    trelobyte

    Joined:
    Nov 17, 2010
    Posts:
    53
    i am on Android Basic so i guess its not very useful to me at the moment but thanks for the kind offering echo17
     
  5. masterprompt

    masterprompt

    Joined:
    Jan 6, 2009
    Posts:
    115
    I bought your package and find I'm having issues:

    How do i get the ID of the last inserted row?
    What does SQLException: Constraint mean? (Happens when i try to insert a record using your class method)
    Does it work on android pro?

    Any information would be appreciated.....
     
  6. illinar

    illinar

    Joined:
    Apr 6, 2011
    Posts:
    557
    Hello. I'm looking for database solution to store the player data on the server in online game. It is online CCG, and I need to store account data, game statistics after each match, information about players unlocks, and may be also players decks. Potentially database will need to store the data for (I know Its very optimistic) millions of users, with thousands of players online using it.

    Is SimpleSQL suitable for this project? Can I get an evaluation copy somehow?
     
  7. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    If you are referring to a key column that you have set up, you could call "SELECT MAX(ID) FROM Table" and store the result into an int value. If you are referring to calling sqlite's "sqlite3_last_insert_rowid" command to get the underlying row id, I'll need to add that to the interface. I'll put that on my todo list.

    Not sure without seeing your project. If you could send me your project zipped up to: support@echo17.com I'll have a look. Be sure to include what scene to run, what actions to perform to get the behavior, and what code files / lines are relevant.

    Yes, but I'll need to email you a file for it to work currently.
     
  8. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    SimpleSQL is designed for use with a local database, so I don't think it will work for what you are looking for, sorry.
     
  9. benburry

    benburry

    Joined:
    Oct 24, 2012
    Posts:
    1
    Hello

    I've read the documentation pdf that's shipped with the SimpleSQL package. Do you have any api documentation available?

    I'm particularly interested in:

    - what are the return values from the Insert and UpdateTable methods?
    - usage of the AutoIncrementAnnotation and IgnoreAnnotation
    - is the DefaultAnnotation evaluated at the time the insert is performed, or once at class definition (for specifying the current time as a default, for instance)

    Additionally, I'm having the same issue as masterprompt in getting the last inserted id. I've elected to not use System.Data (to keep size down), so would like to determine how I can access the generated id of the object I'm passing to Insert. Ideally this would be the return value from Insert, of course.

    Thanks for any info you can give me.
     
  10. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Not currently. The docs and demos that come with the plugin demonstrate everything that is possible. I will probably put together an API doc soon, however. Here are the scripts that come with the Plugin. Note that they won't work on their own, but should give you a good idea of what is possible:

    SimpleSQL Demo Scripts

    Insert and UpdateTable returns the number of rows updated (more useful for InsertAll).

    AutoIncrement is used to designate a field that will be updated automatically. This is most often used in ID fields where you don't want to look up the maximum id value, add one, then write that back to the table. Setting autoupdate in your sqlite table does this for you. Setting the AutoUpdate property in your table definition allows you to not specify a value when inserting a record.

    Ignore is used to designate a field that will not be used in the table mapping (not found in the actual sqlite database), but a field you may want to use to store data in memory in your app. For instance, this may be a calculated field that isn't store in the db, but is processed after the table is queried.

    The Default attribute will be used to set the default property of a sql column when creating a table. Furthermore, it is also used when inserting records that don't explicitly set the value of the this field. Currently this feature only works when calling an actual SQL query with Execute and not with the Insert command, but that is on my todo list to improve.

    For instance, if your have the table definition:

    Code (csharp):
    1.  
    2.  
    3. using System;
    4. using SimpleSQL;
    5.  
    6. public class TestTable
    7. {
    8.     [PrimaryKey, AutoIncrement]
    9.     public int ID { get; set; }
    10.  
    11.     [Default("Dave")]
    12.     public string FirstName { get; set; }
    13.  
    14.     public string LastName { get; set; }
    15. }
    16.  
    17.  
    and you make this insert call:

    Code (csharp):
    1.  
    2.  
    3. dbManager.Execute("INSERT INTO TestTable (LastName) VALUES ('Jones')");
    4.  
    5.  
    Then the sql table will have the values on the first call:

    ID: 1
    FirstName: Dave
    LastName: Jones

    I'm currently working on adding an output parameter that returns the underlying sqlite row id. This id isn't really useful for future queries since the row id can change (see this link), but it gives you an idea of how many records are in the table. If you need the value of a specific field after your inserts, you can do a query afterward that returns the value. I'd recommend explicitly creating a primary key for every table. If you don't want to manage it, you can always set the autoincrement property.
     
  11. ibps13

    ibps13

    Joined:
    Oct 6, 2012
    Posts:
    113
    Hi,

    Just a little problem with Sqlite function,

    I try :
    Code (csharp):
    1. sqlGetBetterJumperScore = "SELECT MAX best_score FROM score WHERE id_jeu = ? AND id_user = ?";
    or
    Code (csharp):
    1. sqlGetBetterJumperScore = "SELECT MAX (best_score) FROM score WHERE id_jeu = ? AND id_user = ?";

    Code (csharp):
    1. // List of better score
    2.     public List<Score> GetListOfScore () {
    3.        
    4.         // Gather a list of score      
    5.         List<Score> scores = dbManager.Query<Score>(sqlGetBetterJumperScore, 2, 1);
    6.         return scores;
    7.     }
    and I have this error :

    NullReferenceException: Object reference not set to an instance of an object

    I have this class too:

    Code (csharp):
    1. using SimpleSQL;
    2.  
    3. public class Score
    4. {
    5.     [PrimaryKey, AutoIncrement]
    6.     public int id_score { get; set; }
    7.    
    8.     public int current_score { get; set; }
    9.    
    10.     public int best_score { get; set; }
    11.        
    12.     public int id_jeu { get; set; }
    13.    
    14.     public int id_user { get; set; }
    15. }
    Thanks
     
    Last edited: Jan 25, 2013
  12. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Your code looks good, so it is probably something else that is causing the error. If you want, you can send me your project zipped up to: support@echo17.com and I'll have a look.

    [EDIT]
    One thing you might check first is to make sure that your database fields in the table "Score" match up to your fields defined in your Score class. They have to be named exactly the same.
    [/EDIT]
     
  13. ibps13

    ibps13

    Joined:
    Oct 6, 2012
    Posts:
    113
    Hi echo17,

    Is my fault :rolleyes: ! public variable reference to my db was wrong... works fine now, just loose 2h for nothing :mrgreen:

    So,

    I need to publish for android pro, can you send me a version on SimpleSql for this ?

    Thanks
     
  14. miniduck

    miniduck

    Joined:
    Sep 27, 2012
    Posts:
    117
    Hey echo17

    Has there been any solution to using with android basic?
     
  15. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    No worries, glad you figured it out!

    I just submitted an update to the store a couple of days ago that will let you select Android pro using the SmoothMoves settings. Let me know if you have any problems with it.
     
  16. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    I don't have an Android 4 basic license to test with, but it appears that Unity may have made some changes to their plugin restrictions that were in place on older version.

    Can you send me an email to: support@echo17.com?
     
  17. RossoXIII

    RossoXIII

    Joined:
    Jan 8, 2013
    Posts:
    10
    Hello Echo.

    I will need your plugin to access and write players data to several registers on an empty database for a game wich will get updated later on.

    In the case that I nedd to add more registers to that original database (with a game update) will I be able to merge the existing data with the new one with your plugin? is this possible?

    The game is for iOS and Android.

    Thanks :)
     
  18. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Yep, you can upgrade your existing database, you'll just have to do it through code to ensure that current users don't have their data overwritten. Take a look at chapter 13 of the user manual here

    Basically, you'll need to create an upgrade path in your code, check to see what version of the database the user is on and applying the necessary modifications in sequence.

    SimpleSQL works with Indie and Pro versions of iOS, but only works with the Pro version of Android. If you have Unity pro for Android you should be okay.
     
  19. Silentart

    Silentart

    Joined:
    Nov 29, 2012
    Posts:
    6
    I have a problem when I use "dbManager.Execute" directive with sql INSERT statement with Cyrillic characters as a value:

    code:

    dbManager.Execute("INSERT INTO players (musicVolume, soundVolume, musicON, soundON, email, password, name) VALUES ('1', '1', 'True', 'True', 'sdfsdf', '123', 'Игрок')");

    console:

    Executing: INSERT INTO players (musicVolume, soundVolume, musicON, soundON, email, password, name) VALUES ('1', '1', 'True', 'True', 'sdfsdf', '123', 'Игрок')

    SQLiteException: unrecognized token: "'Игр�"


    When I use latin characters there is no errors. Also I can pass above SQL statement to SQLeditor with cyrillic characters without any errors.
    Also I have tried to use " instead of ' and \' \" with no success.

    I think maybe there is an error with SimpleSQL SQLite implementation that case an error when using cyrillic characters as dbManager.Execute INSERT parameter values.
     
  20. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    If you want to send me your project zipped up to my email at support@echo17.com I'll have a look and see if there is a simple workaround for this.
     
  21. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    762
    Will you be adding support for web player at all? Presumably this involves loading the db into memory, which for small ones is quite alright!

    Also, you wouldnt have to pull it off disk for this purpose - you could store it as a byte array in a script.
     
    Last edited: Mar 7, 2013
  22. Ecocide

    Ecocide

    Joined:
    Aug 4, 2011
    Posts:
    292
    Hello echo17,

    just purchased SimpleSQL and I am pretty statisfied. It took me a while to understand because I never really worked with databases in Unity, I only had the theory from a course at university, lol.
    My question: I want to delete all entries of a database. I only know how to do it if I have a specific primary key.
    My idea was to retrieve all primary keys as integer values, saving them in an array and building a loop which deletes every entry. Is there a more comfortable solution?
     
  23. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    762
    DELETE * FROM tableName
     
  24. Ecocide

    Ecocide

    Joined:
    Aug 4, 2011
    Posts:
    292
    Code (csharp):
    1.     void DeleteAllEntries(){
    2.    
    3.         string sql = "DELETE * FROM Profiles";
    4.         dbManager.Execute(sql);
    5.        
    6.     }
    7.  
    I did that, but as soon as I try I get the error:

    SQLiteException: near "*": syntax error
     
  25. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    I actually spent quite a bit of time trying to do the in-memory thing, but it just wasn't working out. The web player build doesn't allow file access so for now the webplayer won't be supported.
     
  26. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Try just:

    Code (csharp):
    1.  
    2.  
    3. DELETE FROM Profiles
    4.  
    5.  
    Without the *
     
  27. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
  28. Silentart

    Silentart

    Joined:
    Nov 29, 2012
    Posts:
    6
    My project have so many russian languge in it. Can you read russian texts?

    What workaround? As soon as SimpleSQL encounter any non latin characters it do some very nasty things.
    (INSERT query UPDATE query all the same)

    For example:
    UPDATE players SET name='за', email='alex2@mail.ru' WHERE id=2
    (where name= "some non latin characters")

    updates not only record with id=2, but ALL records in the table, but if I use latin characters all goes well.
    And many many other errors when non latin characters in the field.

    Did you plan to fix it and in what time?
     
  29. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    It looks like there might be a fix using UTF8 encoding. I'll need a sample of russian characters to test this, however, so I can't promise anything. If you could send me your project zipped up, I'll have a look and see if a UTF8 encoding will fix the issue.
     
  30. Silentart

    Silentart

    Joined:
    Nov 29, 2012
    Posts:
    6
    I use ONLY utf8 encoding.

    I cannot send you all our project because I dont have the rights to do it, but I can send you requests and methods which trigger an error and the example database.

    Please fix this HUGE BUG or I and my collegues will rate you app very bad and I will request a refund.
     
  31. Silentart

    Silentart

    Joined:
    Nov 29, 2012
    Posts:
    6
    requests causing errors already with utf8 russian characters in it:

    1)
    UPDATE players SET name='фыв', email='alex0233@mail.ru' WHERE id=2

    (SQLiteException: no such column: i
    SimpleSQL.SQLite3.Prepare2 (IntPtr db, System.String query)

    2)
    INSERT INTO players (total_score, month_score, week_score, color, musicVolume, soundVolume, musicON, soundON, email, password, name) VALUES (0, 0, 0, 'RGBA(0.192, 0.475, 0.332, 0.020)', '1', '0.7087912', 'True', 'True', 'alex0233@mail.ru', 'st123', 'фыв')

    (SQLiteException: unrecognized token: "'фы�"
    SimpleSQL.SQLite3.Prepare2 (IntPtr db, System.String query)

    3)
    UPDATE players SET name='за', email='alex2@mail.ru' WHERE id=2

    (did without exception, but updates all records in the DB instead of 1 record with id=2)


    All these strings did just well when I put it to other SQLite engine.
     
    Last edited: Mar 14, 2013
  32. Silentart

    Silentart

    Joined:
    Nov 29, 2012
    Posts:
    6
    I think maybe you have some sort of SQL injection error
     
  33. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Wow, there is nothing like a threat to motivate someone to give you free service :)

    As I've stated twice now, if you will send me a project with an example of the error (it does not have to be your full project), I will take a look and try to get a fix for you. You can send the project to: support@echo17.com
     
    Last edited: Mar 14, 2013
  34. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    I think I may have figured out a solution for you. I used your example strings here and was able to insert them into the database as parameters. Instead of building your sql string with the russian characters embedded directly, try passing them as parameters (denoted by a ?), like:

    Code (csharp):
    1.  
    2.  
    3. public SimpleSQL.SimpleSQLManager dbManager;
    4.  
    5. public void UpdateDB()
    6. {
    7.     string sql = "UPDATE players SET name=?, email=? WHERE id=?";
    8.  
    9.     dbManager.Execute(sql, "фыв", "alex0233@mail.ru", 2);
    10. }
    11.  
    12.  
    13.  
    I've tried this in my own project and using parameters works for me. For more information on parameters, please see chapters 8, 9, and 10 of the user manual:

    http://www.echo17.com/support/simplesql_user_manual.pdf

    I'd recommend using parameters anyway since they are simpler to use and make your statements more reusable.

    [EDIT]

    Created a post in my FAQs about this as well in case anyone wants to bookmark it:

    http://www.echo17.com/forum/index.php?topic=257.msg399#msg399

    [/EDIT]
     
    Last edited: Mar 14, 2013
  35. sloopidoopi

    sloopidoopi

    Joined:
    Jan 2, 2010
    Posts:
    242
    Hi,
    I evaluate a good database solution for a application. My problem is that I want to develop a Ipad app where I have a large database (1-2 GB of Images) shipped with the app. This database should be dynamic/updatable. As I understand the documentation right, SimpleSQL makes a copy of a preinstalled database into a writable folder(PersistentDataPath).
    As my database is so large I have concerns about this "copy approach" in terms of memory/performance. In my opinion it would be better to copy the database in a postbuild process directly into the app.(Here is a not automated solution :http://answers.unity3d.com/questions/54311/how-to-bring-unity-sqlite-database-into-xcode.html ). But I don't know if this approach circumvents the writeable issue.
    So my question is :
    could this asset handle large databases with good user experience (no long copy process)?
    What about the database from which I copy the data? Is it deleted after copy so it releases the memory from the filesystem?

    Regards
     
  36. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    I'm not sure that SQLite will let you store images in a database, but I may be mistaken. If you are using the BLOB data type, that is interpreted as a string, so you may not be able to access your images from there.

    SimpleSQL was designed around ease of use foremost. It saves you a lot of time going through the process outlined in the link you supplied. You don't have to copy and set up anything in xcode, it just works out of the box. The compromise is that the database has an instance packaged with your project. Unfortunately, the classes that access the database cannot read or write to the packaged location. To get around this, SimpleSQL copies the database into a working directory (persistentdatapath). From there, the database is completely accessible.

    Most mobile devices only allow you to write to a sandbox location, so even if you could somehow stream the data directly from the package, you would not be able to write back to it for security reasons.

    You will have the copy in your package, and also a copy in your app's working path.

    I haven't experimented with large databases, only small and medium ones to keep track of unit statistics, player achievements, etc. I couldn't give you a good estimate on copy times or resource requirements.

    No, the database that is packaged with the project remains part of the app's original package. It is inaccessible from the packaged state, but serves as a template for the working database.
     
  37. sloopidoopi

    sloopidoopi

    Joined:
    Jan 2, 2010
    Posts:
    242
    Thanks for your reply!
    I guess I have to overthink my approach with a large pre-shipped database on mobile platforms. :confused:
    But on Windows standalone I will have write/update access right out of the box?
     
  38. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Sorry for the confusion... You will have write/update access on any platform. I was just mentioning that mobile devices only allow you to write to a sandbox location, which in the case of Unity projects is the persistent data path. That's why I use this path, since it is freely accessible at runtime.
     
  39. sloopidoopi

    sloopidoopi

    Joined:
    Jan 2, 2010
    Posts:
    242
    OK, I got the picture.
    As I'm not a database expert would you say that in general it's not the best idea to store images into the database directly? Better leave them on the filesystem and only store the path to it with a couple of metadata?

    BTW: I love the customer support from you (response, documentation,website...) so it's sad to see some reactions from others :
    This is bad manners.
     
  40. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    I've never actually tried to store images in a database directly. I usually just store information about the image, like you suggested: path or metadata. You could then keep your images in the Resources folder of your project and load them at runtime with the "Resources.Load" function:

    http://docs.unity3d.com/Documentation/ScriptReference/Resources.Load.html

    Thanks, I appreciate that. I've been in development jobs for most of my life and tech support has its ups and downs. I have learned to grow a thick skin and just try my hardest to help people, no matter their disposition.
     
  41. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    762
    I'm having a bit of trouble here that I really don't have time to debug. I need to access SQL in the editor, in an AssetPostprocessor, so in the preprocess stage i'm instantiating a gameobject, adding the component and feeding it my DB. The problem is, when I run queries over it, it correctly finds rows that do and don't exist, but it doesn't seem to properly map them to my objects. Instead, i'm getting objects with default settings BUT correct primary keys. With logging on, I see the queries, but nothing/no errors regarding mapping. Could this be due to me using it in the editor, or something... ?

    edit: This does work in the editor, from a pre-defined DBManager object. Perhaps my construction is at fault?

    Code (csharp):
    1.  
    2.             var go = new GameObject("DBManager_Temp") {hideFlags = HideFlags.HideAndDontSave};
    3.  
    4.             var txt = AssetDatabase.LoadAssetAtPath("Assets/Data/DataFile.bytes", typeof (Object)) as TextAsset;
    5.  
    6.             var db = go.AddComponent<SimpleSQLManager>();
    7.             db.databaseFile = txt;
    8.         db.debugTrace = true;
    9.            
    10.             DBManager = db;
    11.  
     
    Last edited: Mar 27, 2013
  42. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Hmmm...not really sure. I'm not very familiar with Javascript, but your code looks okay if I'm reading it correctly. If you could send me a simplified project that demonstrates this zipped up to support@echo17.com, I can take a look and give you a better diagnosis.
     
  43. RossoXIII

    RossoXIII

    Joined:
    Jan 8, 2013
    Posts:
    10
    Hello Echo. I purchased your pluggin 2 days ago but I am having problems to get it work with java...

    The examples you gave don't seem to work.
    Do you have any examples of the class files and query in java?
    (Is it supposed to convert the class file to java or can i keep it in C?)

    I wish this had some Java documentation available.

    I have a very simple table with 3 columns and 4 lines. All I want to do is cross the columns cell with the line cell and get information about the cell on the same line but on the next column, and maybe once in a while send a value to it. This is really basic but i can't understand the C Code. Even the simple Query example runs trought all the registers on the database.
     
    Last edited: Mar 28, 2013
  44. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    762
    Thanks for the prompt response! I don't have time today, but i'll try to put something together over the weekend, however I think I might know what it is. It is actually working, up until a BOOL column, which it's not mapping to an object if the value in the DB is TRUE or 1. Are booleans supported?
     
  45. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Booleans don't technically exist in SQLite, they're actually stored as INTEGER. All other types are just variations on the standard types. It should work, however, so I'm not sure what the problem would be without seeing your specific setup.

    I personally would recommend using the standard SQLite data types (INTEGER, REAL, TEXT) to store everything. I even go further and don't use REAL since there are some issues with rounding with a high number of decimal places. In place of REAL, I use INTEGER, then just format the results by moving the decimal place manually. That leaves just using INTEGER and TEXT types. That's just me, though :)

    Here's a link to the SQLite data types:

    http://www.sqlite.org/datatype3.html
     
  46. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Sorry, I don't have any examples in Java. C# is far more robust on type handling and gives you extra abilities like delegates. Java is good for rapid prototyping and simple game construction, but for more technical work like db development, I would highly recommend learning C#.

    Also, a quick Google search on the internet will yield far more resources and examples on database development in C#. Java is virtually non-existent in the db world.
     
  47. RossoXIII

    RossoXIII

    Joined:
    Jan 8, 2013
    Posts:
    10
    Well I got the C# code working.

    But I still need to trade a lot of information between JS and C# and vice versa. I do not think it is fair to ask to port an entire project to C#. When you buy a plugin the objective is to make things easier and not the other way around.

    Your java code in page 2 of this thread brings out 3x this error:

    Assets/SimpleSQL/Demos/Scripts/01_SimpleQuery/SimpleQueryJava.js(29,25): BCE0018: The name 'Weapon' does not denote a valid type ('not found').

    Do you have any idea of what that might be?


    By the way the code is not running on Android Pro, including the Demo Projects. I believe you need to send me some file for it to work?
     
    Last edited: Mar 29, 2013
  48. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    762
    Goto the SimpleSQL menu, options, and you can click the Android button to install the appropriate files.
     
  49. techmage

    techmage

    Joined:
    Oct 31, 2009
    Posts:
    2,067
    so this is a full c# implementation of sqllite?

    Does it have any missing commands or functions?

    Does it include the source?

    I also have to wonder, on iOS, is this faster than the built-in sqlite implementation? As I assume the sqlite deep in iOS performs faster. Does this rest on sqlite embedded in iOS or on iOS is it still running entirely through c#?

    Awesome work though, I will most likely be purchasing this.
     
  50. RossoXIII

    RossoXIII

    Joined:
    Jan 8, 2013
    Posts:
    10
    Thanks Duke. I thought that was used only for optimization.