我怎样才能把最大ID到一个TextView中?

问题描述:

我用xamarin使用sqlite。我想提供某种查询,并将max(id)设为TextView。这是我想要做的:我怎样才能把最大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; } 
} 

你看到什么是对象的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 
+0

Id(在extras.id中)它不存在于我的列表中。我应该使用别的东西吗? – Dim