[英]How do I return the newly created ID after an insert statement from an inline SQL statement in C#?
[HttpPost]
public void InsertOrUpdateDirector(Director director)
{
int idReturned = 0;
string query = null;
myConnection.Open();
if (director.Operation == 'I')
{
query = "INSERT...";
}
else if (director.Operation == 'U')
{
query = "UPDATE ...";
}
var cmd = new SqlCommand(query, myConnection);
cmd.ExecuteNonQuery();
myConnection.Close();
idReturned = "???";
return idReturned;
}
我只是想在插入語句之后返回新創建的ID。 我該怎么做呢?
插入后,將其添加到查詢SELECT SCOPE_IDENTITY()
。 並打電話
idReturned = cmd.ExecuteScalar();
而不是cmd.ExecuteNonQuery()
然后檢查idReturned是否為null,cmd.ExecuteScalar()將為您的更新查詢返回null,主鍵應該是Director對象的參與者,因此您可以執行以下操作:
if(idReturned == null){
return director.DirectorId //just guessing at name of id property here for example sake
}else{
return idReturned;
}
您應該已經將主鍵傳遞給InsertOrUpdateDirector來編寫更新查詢。
Try this code,I hope this will work
myConnection.Open();
if (director.Operation == 'I')
{
query = "INSERT...";
string query1="select createdId from table";
}
var cmd = new SqlCommand(query, myConnection);
Sqlcommand cmd1=new SqlCommand(query1,myConnection);
cmd.ExecuteNonQuery();
int CreatedId=cmd1.ExecuteScalar();
return CreatedId;
myConnection.Close();
myConnection.Close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.