从数据库中提取列最大值时抛出 InvalidCastException
本文关键字:InvalidCastException 最大值 数据库 提取 | 更新日期: 2023-09-27 18:34:04
我的SQL Server数据库中有3列,即sr_no int
,user_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();
}
由于"到目前为止数据是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();
}
希望这有帮助...