我有两个事务范围的查询。我需要将第一个表插入值插入到我的详细表中。在这里,第一个表中的 NewsId
是主键和一个自动递增的键。我需要将该 ID 插入第二个表(Detail
表)
// Some code here
transaction = con.BeginTransaction();
// NewsId is the primary key and auto-incremented. I need to retrieve
// that value and insert it into the second table
string query1 = "INSERT INTO ABC(NewsCode, Comment) VALUES (@NewsCode, @Comment)";
cmd = db.GetSqlStringCommand(query1);
cmd.Transaction = transaction;
db.AddInParameter(cmd, "NewsCode", DbType.Int32, News.NewsCode);
db.AddInParameter(cmd, "Comment", DbType.String,News.Comment);
db.ExecuteNonQuery(cmd, transaction);
foreach (var item in NewsTotal.items)
{
// I'm going to insert into the `Detail` table and I need the
// previously inserted table's NewsId
string newsItemsQuery = @"INSERT INTO [dbo].[TBL_T_NewsItems] ([NewsId], [ItemId])
VALUES (@NewsId, @Comment)";
// some code here
}
最佳答案
请检查下面我的回答
transaction = con.BeginTransaction();
string query1 ="Insert Into ABC(NewsCode,Comment) output INSERTED.ID Values (@NewsCode,@Comment)";
cmd = db.GetSqlStringCommand(query1);
cmd.Transaction = transaction;
cmd.Connection = con;
db.AddInParameter(cmd, "NewsCode", DbType.Int32, News.NewsCode);
db.AddInParameter(cmd, "Comment", DbType.String,News.Comment);
int modifiedRowId =(int)cmd.ExecuteScalar();
关于c# - 获取第一个表插入的值到第二个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54259777/