简单的选择

本文关键字:选择 简单 | 更新日期: 2023-09-27 17:54:38

我从windows应用程序中使用SQLite,现在我正在Xamarin开发一个便携式应用程序,所以我使用插件SQLite net pcl,我有很大的麻烦来理解它是如何工作的。

我有一个表,创建如下:

public class Config
    {
        public string IP { get; set; }
        [SQLite.Net.Attributes.Default(true, "Client 2")]
        public string ID { get; set; }
    }

和创建表:

db.CreateTable<Model.Config>();

问题:现在我想选择ID列的值,我做以下操作:

List<string> hhid = db.Query<string>("select ID from Config",null);
我得到这个异常:"Object reference not set to an instance of an object"

我如何做一个简单的选择来找到这个字段?

谢谢你的提示

简单的选择

希望这对我的处境有帮助。

括号(<>)之间是表名:

db.Query<TableName>("select * from ....");

一些对我有用的例子:

简单的选择:

var list = db.Query<MyTableName>("select * from MyTableName");

Select with restrictions:

var list = db.Query<MyTableName>("select * from MyTableName where lastname=? and firstname=?", lastnameValue, firstNameValue);

如果您对表名有一个自定义映射,那么接受的答案并没有真正的帮助。可以在运行时访问类型映射时找到"Sql"表名。

这里是一个扩展方法

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;
    }
}