我怎样才能把最大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
Id(在extras.id中)它不存在于我的列表中。我应该使用别的东西吗? – Dim