【问题标题】:How can I take max id into a TextView?如何将最大 id 带入 TextView?
【发布时间】:2017-04-02 19:37:33
【问题描述】:

我将 sqlite 与 xamarin 一起使用。我想进行某种查询并将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; }
}

【问题讨论】:

    标签: java c# android sqlite xamarin


    【解决方案1】:

    您看到的是对象的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(in extras.id) 它在我的列表中不存在。我应该使用其他东西吗?
    猜你喜欢
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    相关资源
    最近更新 更多