VB.NET'i bir Access Database ile kullanıyorum, değerler ekliyorum ancak son eklenen ID'yi (otomatik numara) almalı ve ilgili tabloya eklemeliyim.vb.net sql en son eklenen ID
@@ IDENTITY ve MAX (sütun) 'u denedim ancak @ IDENTITY sıfır döndürüyor ve MAX çok güvenilir değil (bazen veri eklemek yavaştır, böylece eklenmeden önce kimliği alın). Yukarıdaki kod kafa karıştırıcı görünebilir böylece
Dim insertSql = datalayer.getDataTable((String.Format("INSERT INTO users (username) VALUES ({0})", username)))
Dim newID = datalayer.getDataTable((String.Format("SELECT @@IDENTITY FROM users")))
Dim con As OleDbConnection = getConnection()
con.Open()
Dim sqlCommand As OleDbCommand = New OleDbCommand(String.Format(insertSql), con)
sqlCommand.ExecuteNonQuery()
Bu iki fonksiyonları yapılır, ancak bu sadece iki fonksiyonları alınan. İki ifade idam edildi, ancak sadece örnek olarak idam edildiğini gösterdim.
@@ KİMLİĞİ ve MAKSİMUM'a alternatif var mı, çünkü @@ IDENTITY ile nasıl yanlış gittiğimi görmüyorum?
Önerileriniz için teşekkürler :).
erişim tek komutla birden ifadeleri desteklemeyen hakkında, benim son düzenleme bakın. Gerçekten çalıştığını veya başka bir yaklaşıma gittiğinizi doğrulayabilir misiniz? –