Question

I am using multiview index to insert the news details. In the first view the user can enter details of news which is then inserted into db on clicking the next button the second view gives a user to add images of that news (only 3 images allowed) ,

what I am having problem is that the first view inserts data into the table dbo.newsdetail with a primary key newsID , while the second view should add the respected images using that newsId of the news just added into newsimages table. I just dont know how to get the newsID of the details which is added in the first view as news Id is working as a foreign key for the both the table. Any help or suggestions will be highly appreciated .

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

}
Was it helpful?

Solution

A separate SQL statement

SELECT SCOPE_IDENTITY()

Or the OUTPUT clause

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

Edit:

  • change your insert statement to match mine
  • change .ExecuteNonQuery() to blah = xxx.ExecuteScalar()

OTHER TIPS

As part of your INSERT statement (into the first News table), after it runs, execute

SELECT SCOPE_IDENTITY()

and return NewsId value to caller.

Ref.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top