Как получить последний вставленный идентификатор, чтобы вставить его в другую таблицу? - PullRequest
0 голосов
/ 21 сентября 2019

Моя проблема в том, как получить последний вставленный идентификатор, я хочу использовать этот идентификатор, а затем вставить его в другую таблицу, поскольку у меня есть внешний ключ для другой таблицы.

Dim insertquery As String = "insert into IndustrialEstablishmentFood_tbl(NameOfEstablishment,Address,EmailAddress,CEO_President,GeneralManager,PollutionControlOfficer,NatureOfBusiness,ContactNumber,NameOfAccreditedWasteHauler,ControlNumber,BrgyClearanceWithCTC,DTI_SEC,ECC,PTO,DP,BFAD,AccreditedWasteHauler,SelfMonitoringReport) values (@NameOfEstablishment,@Address,@EmailAddress,@CEOPresident,@GeneralManager,@PollutionControlOfficer,@NatureOfBusiness,@ContactNumber,@NameOfAccreditedWasteHauler,@ControlNumber,@BrgyClearance,@DTISEC,@ECC,@PTO,@DP,@BFAD,@AccreditedWasteHauler,@SMR)" &
Dim cmd As New SqlCommand(insertquery, connection)
cmd.Parameters.AddWithValue("@NameOfEstablishment", NameOfEstablishment.Text)
cmd.Parameters.AddWithValue("@Address", Address.Text)
cmd.Parameters.AddWithValue("@EmailAddress", EmailAddress.Text)
cmd.Parameters.AddWithValue("@CEOPresident", CEOPresident.Text)
cmd.Parameters.AddWithValue("@GeneralManager", GeneralManager.Text)
cmd.Parameters.AddWithValue("@PollutionControlOfficer", PollutionControlOfficer.Text)
cmd.Parameters.AddWithValue("@NatureOfBusiness", NatureOfBusiness.Text)
cmd.Parameters.AddWithValue("@ContactNumber", ContactNumber.Text)
cmd.Parameters.AddWithValue("@NameOfAccreditedWasteHauler", NameOfAccreditedWasteHauler.Text)
cmd.Parameters.AddWithValue("@ControlNumber", ControlNumber.Text)
cmd.Parameters.AddWithValue("@BrgyClearance", BrgyClearance.Text)
cmd.Parameters.AddWithValue("@DTISEC", DTISEC.Text)
cmd.Parameters.AddWithValue("@ECC", ECC.Text)
cmd.Parameters.AddWithValue("@PTO", PTO.Text)
cmd.Parameters.AddWithValue("@DP", DP.Text)
cmd.Parameters.AddWithValue("@BFAD", BFAD.Text)
cmd.Parameters.AddWithValue("@AccreditedWasteHauler", AccreditedWasteHauler.Text)
cmd.Parameters.AddWithValue("@SMR", SMR.Text)
cmd.ExecuteNonQuery()
MessageBox.Show("Successfully added!", "Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Information)
clear() 'clear all fields after inserted to database

1 Ответ

0 голосов
/ 24 сентября 2019

Вариант 1 (для целочисленных идентификаторов)

Dim LASTID
Dim selectquery As String = "SELECT MAX(WHATYOUNAMEYOURID) FROM IndustrialEstablishmentFood_tbl GROUP BY WHATYOUNAMEYOURID" 

Dim cmd As New SqlCommand(selectquery , connection)
cmd.CommandType = CommandType.Text
LASTID = cmd.ExecuteScalar


MessageBox.Show("ID Found!", LASTID, MessageBoxButtons.OK, MessageBoxIcon.Information)

Вариант 2 (оптимальный и работает с GUID) - создайте в своем запросе возврат @@ IDENTITY

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...