1

マルチビューインデックスを使用してニュースの詳細を挿入しています。最初のビューでは、ユーザーはニュースの詳細を入力でき、次のボタンをクリックするとデータベースに挿入されます。2番目のビューでは、ユーザーはそのニュースの画像を追加できます(3つの画像のみが許可されます)。

私が問題にしているのは、最初のビューが主キーnewsIDを使用してテーブルdbo.newsdetailにデータを挿入し、2番目のビューがnewsimagesテーブルに追加されたばかりのニュースのnewsIdを使用して尊敬される画像を追加する必要があることです。ニュースIDが両方のテーブルの外部キーとして機能しているため、最初のビューに追加された詳細のnewsIDを取得する方法がわかりません。ヘルプや提案は大歓迎です。

 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();

}
4

2 に答える 2

2

別のSQLステートメント

SELECT SCOPE_IDENTITY()

またはOUTPUT句

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

編集:

  • 挿入ステートメントを私のものと一致するように変更します
  • .ExecuteNonQuery()をblah = xxx.ExecuteScalar()に変更します
于 2011-05-11T09:59:02.523 に答える
0

INSERT ステートメントの一部として (最初のニュース テーブルに)、実行後に実行します。

SELECT SCOPE_IDENTITY()

NewsId呼び出し元に値を返します。

参考文献

于 2011-05-11T09:57:31.553 に答える