我面临一个问题。就我而言,我想选择 max 和 + 1 来创建一个新的收据编号,如果它是一个新的收据,它将创建一个新的编号,如下所示的代码。但是,我收到了错误
对象不能从 DBNull 转换为其他类型
这是我的代码。
这个系统在 PDA 上运行,所以我使用这个 web 服务来调用数据库
public string callReceipt(string terminal, ref string msg)
{
try
{
string sql = "Select MAX(ReceiptNo) from ReceiptStore where terminalno ='" + terminal + "'";
Logging.Log.writeLog(sql);
msg = "Success";
int receiptno = Convert.ToInt32(Data.DAL.ExecuteScalar(sql));
if (!(sql is DBNull))
{
return Convert.ToString(receiptno + 1);
}
else
{
int receipt = 100000;
return receipt.ToString();
}
}
catch (Exception e)
{
msg = "Error : " + e.Message.ToString();
Logging.Log.writeLog(msg);
return msg;
}
finally
{
}
}
****** 更新 ******
感谢所有的答案,SimpleVar 提供了正确的答案,它解决了我的问题。再次感谢!