我使用企業庫,我有一個問題:的ExecuteScalar返回值是不適合
string sql = "
UPDATE StackOverflow SET UserName = @UserName
WHERE Id = @Id
";
DbCommand cmd = base.Database.GetSqlStringCommand(sql);
base.Database.AddInParameter(cmd, "Id", DbType.Int32, StackOverflow.Id);
base.Database.AddInParameter(cmd, "UserName", DbType.Int32, StackOverflow.UserName);
int val = Convert.ToInt32(base.Database.ExecuteScalar(cmd));
Convert.ToInt32(base.Database.ExecuteScalar(cmd)) //returns 0.
我讀過這篇文章http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx
文章說:
該函數返回新標識如果插入新行,則爲列值,失敗時爲0。
但我沒有插入到該表 - 我只是想更新,並返回更新行ID。
我編輯我的問題解釋得 – 2012-08-04 10:21:28