SQLite 网络 PCL - 简单 select
SQLite net PCL - Simple select
我使用来自 windows 应用程序的 SQLite,现在我正在 Xamarin 中开发一个 portable 应用程序,所以我正在使用插件 sqlite net pcl,但我遇到了很大的麻烦了解它是如何工作的。
我有一个 table 是由以下内容创建的:
public class Config
{
public string IP { get; set; }
[SQLite.Net.Attributes.Default(true, "Client 2")]
public string ID { get; set; }
}
并创建 table:
db.CreateTable<Model.Config>();
问题:现在我想 select ID 列中的值,然后执行以下操作:
List<string> hhid = db.Query<string>("select ID from Config",null);
我得到这个异常:"Object reference not set to an instance of an object"
我如何做一个简单的 select 来找到这个字段?
感谢任何提示
希望这对我所在位置的人有用...
括号 (<>) 之间是 table 名称:
db.Query<TableName>("select * from ....");
一些对我有用的例子:
简单select:
var list = db.Query<MyTableName>("select * from MyTableName");
Select 有限制:
var list = db.Query<MyTableName>("select * from MyTableName where lastname=? and firstname=?", lastnameValue, firstNameValue);
如果您有 table 姓名的自定义映射,那么接受的答案并没有多大帮助。
"Sql" table 名称可以在运行时访问类型映射时找到。
这里是扩展方法
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;
}
}
我使用来自 windows 应用程序的 SQLite,现在我正在 Xamarin 中开发一个 portable 应用程序,所以我正在使用插件 sqlite net pcl,但我遇到了很大的麻烦了解它是如何工作的。
我有一个 table 是由以下内容创建的:
public class Config
{
public string IP { get; set; }
[SQLite.Net.Attributes.Default(true, "Client 2")]
public string ID { get; set; }
}
并创建 table:
db.CreateTable<Model.Config>();
问题:现在我想 select ID 列中的值,然后执行以下操作:
List<string> hhid = db.Query<string>("select ID from Config",null);
我得到这个异常:"Object reference not set to an instance of an object"
我如何做一个简单的 select 来找到这个字段?
感谢任何提示
希望这对我所在位置的人有用...
括号 (<>) 之间是 table 名称:
db.Query<TableName>("select * from ....");
一些对我有用的例子:
简单select:
var list = db.Query<MyTableName>("select * from MyTableName");
Select 有限制:
var list = db.Query<MyTableName>("select * from MyTableName where lastname=? and firstname=?", lastnameValue, firstNameValue);
如果您有 table 姓名的自定义映射,那么接受的答案并没有多大帮助。 "Sql" table 名称可以在运行时访问类型映射时找到。
这里是扩展方法
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;
}
}