如何使用c#从数据库获取最大id

本文关键字:id 获取 数据库 何使用 | 更新日期: 2023-09-27 17:59:16

cmd = new OleDbCommand("SELECT max(substr(tr_refno,9,6))as REFID from ECHALLAN WHERE DEPT='" +tmpDept.ToString() + "' and substr(tr_refno,5,2) ='" + Tmpmonth + "'", con);                         
maxid = Convert.ToInt16( cmd.ExecuteScalar());

错误=用户代码未处理InvalidCastException

如何使用c#从数据库获取最大id

在转换之前,您可以检查无效性:

var value = cmd.ExecuteScalar();
int maxI;
If(value !=null)
   maxId = Convert.ToInt32(value);
else 
//......................

尝试此命令:

cmd = new OleDbCommand("SELECT Max(COALESCE(substr(tr_refno,9,6),0)) as REFID from ECHALLAN WHERE DEPT='" +tmpDept.ToString() + "' and substr(tr_refno,5,2) ='" + Tmpmonth + "'", con);