如何将max id带入TextView?

时间:2017-04-02 19:37:34

标签: java c# android sqlite xamarin

我正在使用带有xamarin的sqlite。我想提供某种查询并将max(id)带到TextView。这是我正在尝试做的事情:

 string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "student.db3");
 var db = new SQLiteConnection(dpPath);
 db.CreateTable<ExtrasPreviewClass>();

 TextView txtExtrasID = row.FindViewById<TextView>(Resource.Id.txtExtrasID);
        txtExtrasID.Text = Convert.ToString(mitems[position].id);

 var data = db.Table<ExtrasPreviewClass>(); //Call Table  

 txtExtrasID.Text = Convert.ToString(db.Query<ExtrasPreviewClass>("select max(_id) from ExtrasPreviewClass "));

但我的结果是system.collection.list1(ExtrasPreviewClass)。如何管理max(id)TextView

这是我的班级:

class ExtrasPreviewClass
{
    [PrimaryKey, AutoIncrement, Column("_Id")]

    public int id { get; set; }
    public string ExtrasName { get; set; }
    public string ExtrasCheckBox { get; set; }
}

1 个答案:

答案 0 :(得分:0)

您所看到的是对象的ToString()表示。

如果您想展示其他内容,可能需要覆盖ExtrasPreviewClass中的方法:

public override string ToString()
{
    return $"Id: {id}, Name {ExtrasName}, CheckBox {ExtrasCheckBox}";
}

或者您只需更改最后一行:

txtExtrasID.Text = Convert.ToString(db.Query<ExtrasPreviewClass>("select max(_id) from ExtrasPreviewClass "));

为:

var extras = db.Query<ExtrasPreviewClass>("select max(_id) from ExtrasPreviewClass ");
txtExtrasId.Text = extras.id; // or whatever you want to display