Как получить последний введенный идентификатор?
Я сделал процедуру хранения, чтобы получить последний введенный идентификатор. Это работает. Но в кодировке c# он отображает нулевое значение. Я хочу получить последнее введенное удостоверение личности. Пожалуйста помочь.
Что я уже пробовал:
CREATE PROCEDURE spDonor ( @flag char(1), @donorcode varchar(2), @donor varchar(25), @lastid int out ) WITH ENCRYPTION AS SET NOCOUNT OFF BEGIN IF @flag = 'I' BEGIN INSERT INTO tblDonor (DonorCode, Donor) VALUES (@donorcode, UPPER(@donor)) SELECT @lastid = SCOPE_IDENTITY() END IF @flag = 'U' BEGIN UPDATE tblDonor SET DonorCode = @donorcode, Donor = UPPER(@donor) WHERE SeqNo = @lastid END IF @flag = 'D' BEGIN DELETE tblDonor WHERE SeqNo = @lastid END IF @flag = 'A' BEGIN SELECT SeqNo, DonorCode, Donor FROM tblDonor END IF @flag = 'S' BEGIN SELECT SeqNo, DonorCode, Donor FROM tblDonor WHERE SeqNo = @lastid END IF @flag = 'N' BEGIN SELECT SeqNo, DonorCode, Donor FROM tblDonor WHERE (UPPER(Donor) Like '%'+UPPER(@donor)+'%') END END SET NOCOUNT ON RETURN GO /// private string _flag = string.Empty; public string Flag { get { return _flag; } set { _flag = value; } } private string _dnrCode = string.Empty; public string DnrCode { get { return _dnrCode; } set { _dnrCode = value; } } private string _donor = string.Empty; public string Donor { get { return _donor; } set { _donor = value; } } private int _lastid = 0; public int Lastid { get { return _lastid; } set { _lastid = value; } } public int executeDonor() { SqlParameter[] param = new SqlParameter[] { new SqlParameter("@flag", _flag) , new SqlParameter("@donorcode", _dnrCode) , new SqlParameter("@donor", _donor) , new SqlParameter("@lastid", _lastid) }; return DAO.ExecuteProc("spDonor", param); } private void btnSave_Click(object sender, EventArgs e) { mtacsys.Flag = "N"; mtacsys.Donor = txtDonor.Text.Trim(); DataTable dtchk = mtacsys.GetDonorByCodeName(); if (dtchk.Rows.Count > 0) { toolStripMessage.Text = mtacsys.Donor + " : This is already entered."; } else { mtacsys.Flag = "I"; mtacsys.DnrCode = txtDonorId.Text.Trim(); mtacsys.Donor = txtDonor.Text.Trim(); int i = mtacsys.executeDonor(); if (i > 0) { toolStripMessage.Text = "Record Saved Successfully"; ResetTextBox(); MessageBox.Show(mtacsys.Lastid + " : is entered"); } }