我想從表中獲取行並將它們插入到另一個表中。爲此我編寫了這個簡單的代碼,但我無法弄清楚問題所在。Executenonquery有-1時,我執行語句
正如你可以看到我用ExecuteNonQuery
執行我的發言後,然後用消息框看到輸出,但在消息框中輸出爲-1
for (int i = 1; i <= 10; i++)
{
SqlCommand cmd = new SqlCommand("Select exp_date from tbl_expences where exp_id='" + i + "'", con);
int j = cmd.ExecuteNonQuery();
MessageBox.Show(Convert.ToString(j));
if (j > 1)
{
string date = cmd.ExecuteScalar().ToString();
MessageBox.Show(date);
SqlCommand cmd1 = new SqlCommand("update other_expensive set exp_date='" + date + "' where exp_id='" + i + "'", con);
}
}
'.ExecuteNonQuery()'的返回值是** INSERT,UPDATE或DELETE操作影響的**行數。由於你的'SELECT'不影響任何行 - >該值沒有被定義並且返回-1。這是由設計人員[和MSDN](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx)記錄,供大家看到。如果您需要首先了解這樣的內容,請檢查MSDN! –