I use SQLite from windows app and now I am developing in Xamarin a portable app so I am using the plugin sqlite net pcl and I am having great trouble to understand how it works.
I have a table that is created by te following:
public class Config
{
public string IP { get; set; }
[SQLite.Net.Attributes.Default(true, "Client 2")]
public string ID { get; set; }
}
and to create the table:
db.CreateTable<Model.Config>();
Problem: Now I want to select the value in ID column and I do the following:
List<string> hhid = db.Query<string>("select ID from Config",null);
I get this exception: "Object reference not set to an instance of an object"
How can I make a simple select to find this field?
Thanks for any tip
The accepted answer doesn't really help if you have a custom mapping for the tables name. The "Sql" table name can be found at runtime accessing to the type mapping.
Here an extension method
public static class NativeConnectionExtension
{
public static List<T> SelectAllFrom<T>(this SQLiteConnection cnn) where T : new()
{
var mapping = cnn.GetMapping<T>();
var result = cnn.Query<T>(String.Format("select * from {0};", mapping.TableName));
return result;
}
}
Hoping this will be usefull to someone in my place...
Between the brackets (<>) goes the table name:
db.Query<TableName>("select * from ....");
var list = db.Query<MyTableName>("select * from MyTableName");
var list = db.Query<MyTableName>("select * from MyTableName where lastname=? and firstname=?", lastnameValue, firstNameValue);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With