这里有一个函数,它得到 order_id
如果它还不是1,则增加1。问题是,初始值为null,我无法通过1将其相加。
代码:
private void getOrderId()
{
var orders_dt = conn.Select("orders", "MAX(order_id)").GetQueryData();
if (orders_dt == null || orders_dt.Rows.Count == 0 || orders_dt.Rows[0][0] == null)
{
//Should not preemptively insert into the database
order_no.Text = "1";
}
else
{
int order_id = orders_dt.Rows[0][0] + 1; //ERROR HERE
order_no.Text = order_id.ToString();
}
}
上发生错误 int order_id = orders_dt.Rows[0][0] + 1;
microsoft.csharp.runtimebinder.runtimebinderexception:'运算符'+'不能应用于'system.dbnull'和'int'类型的操作数'
有什么想法吗?
edit:我已经在mysql中确认了这个查询,它返回null。
1条答案
按热度按时间yftpprvb1#
您的初始检查是检查null,而不是
DBNull.Value
.注: