【发布时间】:2015-09-09 13:17:25
【问题描述】:
我有 2 个使用 dapper 的查询。我想获取第一个插入查询的 ID,然后我需要该值到第二个查询,
我看到了一些重复,我试着做这个例子Click
但我对如何获取插入的 id 有一些疑问,
这里我已经粘贴了代码,
public string InsertNewsAndDetails(News n)
{
DataAccess dbconn = DataAccess.Create("Connection");
try
{
int value;
using (var transction = dbconn.BeginTransaction())
{
StringBuilder sqlBuilder = new StringBuilder();
sqlBuilder.Append(@"INSERT INTO News_Tbl(NewsCode,NewsStatus,NewsDate)");
sqlBuilder.Append("VALUES ('" + n.NewsCode + "','" + n.NewsStatus + "','" + n.NewsDate + "') SELECT CAST(SCOPE_IDENTITY() as int)");
// in the referred example,it shows below line to get id.But i have no idea how to get it ??
//var id = connection.Query<int>(sql, new { Stuff = mystuff}).Single();
if (id != null)
{
sqlBuilder.Append("INSERT INTO NewsDtl_Tbl(NewsId,DetailName,Details)");
sqlBuilder.Append("VALUES (" + id + ",'" + n.DetailName + "','" + n.Details + "')");
}
value = transction.Execute(sqlBuilder.ToString());
transction.Complete();
}
return "";
}
catch (Exception Ex)
{
}
finally
{
db.Dispose();
}
}
【问题讨论】: