gpt4 book ai didi

C# ExecuteScalar() - 必须小于无穷大?

转载 作者:太空宇宙 更新时间:2023-11-03 17:26:46 27 4
gpt4 key购买 nike

下面的代码有点问题。 NextIPID() 方法应该简单地查看 SQL Server 中的一个表,该表返回字段 IPID 的最大值,然后将其加 1,以获得序列中的下一个数字。

public int NextIPID()
{
string strConnect = BuildConnectionString();
SqlConnection linkToDB = new SqlConnection(strConnect);
linkToDB.Open();
string sqlStat = "SELECT MAX(IPID) FROM tblInterestedParties;";
SqlCommand sqlCom = new SqlCommand(sqlStat, linkToDB);
int intNextIPID = (Int32)sqlCom.ExecuteScalar();
linkToDB.Close();
return intNextIPID + 1;
}

但是我一直收到错误信息

“从数字转换时,该值必须是小于无穷大的数字”。

我怀疑这是因为该表当前为空,但随后我希望执行标量返回“0”,因此向其添加一个将意味着该方法返回下一个值,即 1。然而,这并没有发生。

非常感谢您的帮助。

最佳答案

如果表为空,您的查询将不会返回 0,它会返回 NULL。你可以使用的是

SELECT ISNULL((SELECT MAX(IPID) FROM tblInterestedParties), 0)

关于C# ExecuteScalar() - 必须小于无穷大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8819352/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com