![](/img/trans.png)
[英]How to get last inserted and updated value without using identity column in SQL using C#?
[英]Get the identity of the last updated row in SQL via C#
我試圖首先通過C#在我的SQL Compact Edition數據庫中創建一個新行,然后想用單選按鈕中的信息更新同一行。 我在數據庫中有一個“ ID”列,該列是自動增量的。
因此,我嘗試使用@@ Identity將其值分配給變量,並在更新查詢中將其調用,但它不起作用。 我試過MAX在ID列中找到最大值,這將是最新的行,但仍然無法正常工作。 這是我的代碼。
con.Open();
string sqlAdd = "Insert into MembersTable ([First Name],Surname,[Middle Name])
Values('"+txtFirstName.Text+"','"+txtSurname.Text+"','"+ txtMiddleName.Text+"')";
string IDIdentifier = "Select @@Identity AS TempID";
string sqlgenderM = "Update MembersTable set Gender='M' where ID='" + DC.ID + "'";
string sqlgenderF = "Update MembersTable set Gender='F' where ID='" + DC.ID + "'";
com = new SqlCeCommand(sqlAdd, con);
com.ExecuteNonQuery();
SqlCeCommand com1 = new SqlCeCommand(IDIdentifier, con);
SqlCeDataReader dr1 = com1.ExecuteReader();
if (dr1.Read())
{
DC.ID = dr1["TempID"].ToString();
}
{
if (rbGenderMale.Checked == true)
{
SqlCeCommand gendercom = new SqlCeCommand(sqlgenderM, con);
gendercom.ExecuteNonQuery();
}
else if (rbGenderFemale.Checked == true)
{
SqlCeCommand gendercom = new SqlCeCommand(sqlgenderF, con);
gendercom.ExecuteNonQuery();
}
}
字段(名字,中間名,姓氏)會更新,但“性別”列不會更新。 我究竟做錯了什么?
感謝@Soner我使用了:
int.TryParse(dr1["TempID"].ToString(), out Identity);
string IdentityS = Identity.ToString();
並將DC.ID替換為IdentityS
現在,它可以完美運行了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.