2011-05-11 57 views
1

我正在使用multiview索引插入新聞詳細信息。在第一個視圖中,用戶可以輸入新聞的詳細信息,然後插入到數據庫中,點擊下一個按鈕 第二個視圖給用戶添加該新聞的圖像(只允許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(); 

} 
+0

您正在使用哪些DBMS?有了PostgreSQL,你可以使用'INSERT ... RETURNING ...' – 2011-05-11 10:31:30

回答

2

一個單獨的SQL語句

SELECT SCOPE_IDENTITY() 

還是OUTPUT clause

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

編輯:

  • 改變你的INSERT語句礦
  • 變化.ExecuteNonQuery()匹配等等= xxx.ExecuteScalar()
+0

我需要保存ID在代碼後面使用另一種方法,我已經編輯了代碼,你可以向我提供查詢plz – 2011-05-11 10:00:54

+0

任何建設性的反饋與downvote去? – gbn 2011-05-11 14:46:07

0

當你的INSERT語句的一部分(進入第一新聞臺),它運行後,執行

SELECT SCOPE_IDENTITY() 

NewsId值返回給調用者。

Ref

+0

我需要保存該ID以便在代碼後面使用另一種方法,我已經編輯了代碼,你可以向我提供查詢plz – 2011-05-11 09:59:56