一尘不染

如何获取插入到表中的最后一行的主键

sql

我正在使用多视图索引来插入新闻详细信息。在第一个视图中,用户可以输入新闻的详细信息,然后单击下一步按钮将其插入db。第二个视图中,用户可以添加新闻的图像(仅允许3张图像),

我遇到的问题是,第一个视图将数据插入具有主键newsID的表dbo.newsdetail中,而第二个视图应使用刚刚添加到newsimages表中的新闻的newsId添加受尊重的图像。我只是不知道如何获取在第一个视图中添加的详细信息的newsID,因为新闻ID用作两个表的外键。任何帮助或建议,将不胜感激。

 static public void insertNews(string newsDescription, string newsImage, string newsTitle)
{
    SqlConnection conn = new SqlConnection(ConnectionString);
    conn.Open();
    SqlCommand insertNews = new SqlCommand("Insert INTO caravanNews(newsDescription, newsImage, newsTitle) VALUES ('" + newsDescription + "', '" + newsImage + "' , '" + newsTitle + "')",conn);
    insertNews.ExecuteNonQuery();
    conn.Close();

}

阅读 127

收藏
2021-05-05

共1个答案

一尘不染

单独的SQL语句

SELECT SCOPE_IDENTITY()

OUTPUT子句

INSERT MyTable (...=
OUTPUT INSERTED.KeyCol
VALUES (...) --Or SELECT ... FROM Another table)

编辑:

  • 更改您的插入语句以匹配我的
  • 将.ExecuteNonQuery()更改为blah = xxx.ExecuteScalar()
2021-05-05