2017-04-02 78 views
0

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

回答

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 
+0

Id(在extras.id中)它不存在於我的列表中。我應該使用別的東西嗎? – Dim