从数据库中提取列最大值时抛出 InvalidCastException

本文关键字:InvalidCastException 最大值 数据库 提取 | 更新日期: 2023-09-27 18:34:04

我的SQL Server数据库中有3列,即sr_no intuser_id nvarchar(50)name nvarchar(50)

当我运行下面的代码时,它给了我InvalidCastException而当我从sr_no或名称中找到最大值时,它给了我正确的值。

到目前为止,存储在user_id中的值都是数字。

C# 代码:

using (DataClassesDataContext context = new DataClassesDataContext())
{
    var id = (from a in context.User_profiles select a.user_id).Max();
    _id.Text = "USR-" + id.ToString();    
}

从数据库中提取列最大值时抛出 InvalidCastException

由于"到目前为止数据是nvarchar格式的整数"并且Max不会一直适用于字符串,请尝试这样做,

    using (DataClassesDataContext context = new DataClassesDataContext())
    {
        var id = (from obj in context.User_profiles
                  let num = context.User_profiles.Select(x => x.user_id).Cast<int>().Max()
                  select num).FirstOrDefault();
        _id.Text = "USR-" + id.ToString();
    }

希望这有帮助...

相关文章:
  • 没有找到相关文章