我試圖從表中選擇最好的ID並插入一個變量(可以是int或long)。我的代碼有點不錯,但它沒有得到它應該的數字。相反,它始終爲-1。從表中選擇更大的ID
Ps1 - RXRX是ID列。
PS3的 - 我已經嘗試更換的ExecuteNonQuery來的ExecuteReader和他們,我得到以下錯誤:無法隱式轉換類型System.Data.SqlClient.SqlDataReader
到int
private int aux;
if(some condition)
{
MessageBox.Show("Should get a positive number in the next messageBox");
cmd.CommandText = "SELECT MAX(RXRX) from tablee";
aux = cmd.ExecuteNonQuery();
MessageBox.Show(aux.ToString()); //Gets -1 all the time
}
有什麼不對?可悲的是,我不能使用LAST INSERT ID命令,因爲在插入任何數據之前,人員可以進入這個IF。
UPDATE:得到了答案。現在它的工作,謝謝大家:
if(some condition)
{
MessageBox.Show("Should get a positive number in the next messageBox");
cmd.CommandText = "SELECT MAX(RXRX) from tablee";
aux = Convert.ToInt32(cmd.ExecuteScalar()); //Thanks Joachim Isaksson
MessageBox.Show(auxiliar.ToString()); //Now it works fine
}
'cmd.ExecuteScalar()'怎麼樣? –
我曾嘗試過,但有一些事情是不允許的。我得到的消息:「不能隱式轉換類型'到'int'。存在明確的轉換(你是否缺少一個轉換?)」 – ArthurMFB