以下代碼有問題。 NextIPID()方法只需查看SQL Server中的一個表,該表返回字段IPID的最大值,然後向其中添加1,以獲取序列中的下一個數字。C#ExecuteScalar() - 必須小於Infinity?
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.然而,這不會發生。
協助非常感謝。
是什麼,當你直接在manamgement工作室或類似的運行SQL返回?你可以(也應該)測試你的期望...... – Chris 2012-01-11 12:39:24
你也可以看看Using語句(http://msdn.microsoft.com/en-us/library/yh598w02.aspx)。這將確保像連接對象這樣的東西能夠正確處理。 – Chris 2012-01-11 12:46:42