我正在使用带有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; }
}
答案 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