Det beror på om ID är en räknare. Om det inte är det - ställ en SQL-fråga som hämtar ut högsta värdet och lägger till 1:
SELECT MAX(ID) + 1 AS NextId FROM myTable
Om det är en räknare måste du göra en insert och ta reda på vad den nya posten fick för värde.
' 1)
INSERT INTO myTable [...]
' 2)
SELECT @@IDENTITY AS NewId
Så, om du innan du gör en insert måste veta vad posten får för ID - då får du tänka om lite. Då får du först göra en insert (med dummy-värden om det ska vara så) - och senare uppdatera den posten.
(Kom ihåg att din INSERT och din SELECT i det andra alternativet måste göras med samma connectionobjekt-instans, annars är värdet borta.)
