【发布时间】:2013-03-12 16:06:11
【问题描述】:
我需要获取记录的 ID,以便我可以将用户转发到包含他们刚刚提交的信息的另一个页面。我查看了有关此的其他问题,人们建议使用 SELECT SCOPE_IDENTITY() 或 OUTPUT 但我对 c# 和 SQL 真的很陌生,所以我不知道如何将它与现有代码一起使用。任何帮助将不胜感激。
可以看到我需要把刚才插入的记录的ID放在response.redirect中。
pcn.Open();
pcm.Connection = pcn;
string logon_user = Request.ServerVariables["LOGON_USER"].Substring(7);
var sql = String.Format(@"INSERT INTO Transfer (Status, Type, Name) values ('{0}','{1}','{2}')", '0', TypeTxtBox.Text.Replace("'", "''"), logon_user);
pcm.CommandText = sql;
pcm.ExecuteNonQuery();
pcn.Close();
Response.Redirect("View.aspx?ID=" + id);
是的,我看到还有其他类似的问题,但我正在寻找有关我上面代码的确切帮助,不要标记此重复项,因为它不是!
【问题讨论】:
-
你总是可以运行
SELECT SCOPE_IDENTITY(); -
使用参数防止sql注入。 stackoverflow.com/a/9319609/284240
-
这是一个内部脚本,仅供我自己使用,没有其他人使用,我不担心SQL注入。不过还是谢谢你的建议。
标签: c# sql sql-server