如何将最后一行的主键插入表中

时间:2011-05-11 09:50:17

标签: asp.net sql database multiview

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

我遇到的问题是第一个视图使用主键将数据插入到表dbo.newsdetail中 newsID,而第二个视图应该使用刚添加到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();

}

2 个答案:

答案 0 :(得分:2)

单独的SQL语句

SELECT SCOPE_IDENTITY()

OUTPUT clause

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

编辑:

  • 更改您的insert语句以匹配我的
  • 将.ExecuteNonQuery()更改为blah = xxx.ExecuteScalar()

答案 1 :(得分:0)

作为INSERT语句的一部分(进入第一个News表),运行后,执行

SELECT SCOPE_IDENTITY()

并将NewsId值返回给调用者。

Ref