我在數據庫中添加了一條記錄,其值爲identity
。我想在插入後得到身份值。我不想通過存儲過程來做到這一點。如何在插入記錄後從SQL服務器獲取標識值
這是我的代碼:
SQLString = " INSERT INTO myTable ";
SQLString += " (Cal1, Cal2, Cal3, Cal4) ";
SQLString += " VALUES(N'{0}',N'{1}',N'{2}',N'{3}') ";
SQLString = string.Format(SQLString, Val1, Val2, Val3, Val4);
SQLString += " Declare @_IdentityCode INT SET @_IdentityCode = @@IDENTITY RETURN @_IdentityCode";
int result;
public int DoCommand2(string sql)
{
con = new SqlConnection();
cmd = new SqlCommand();
da = new SqlDataAdapter();
cmd.Connection = con;
da.SelectCommand = cmd;
string cs = GlobalConstants.SqlConnectionString;
con.ConnectionString = cs;
cmd.CommandText = sql;
int i = cmd.ExecuteNonQuery();
return i;
}
,但我得到這個錯誤:
A RETURN statement with a return value cannot be used in this context.
你有沒有嘗試谷歌? – Stokedout 2014-10-06 09:27:58
我希望這只是「樣本」代碼,並不適用於任何類型的生產系統。如果你打算真實地使用它,請查看查詢中使用的參數而不是String.Format,並且至少在使用sql連接時使用「using」,以便它關閉並處理連接。 – 2014-10-06 09:48:33