2012-03-20 17 views
6
Dim insert_coupon_query As String = ("INSERT INTO qa_discountcoupons (id, status_code) VALUES (AUTO_INCREMENT_ID, 5)") 
       Dim cmd_query As New MySqlCommand(insert_coupon_query, objConn) 
       Dim cmd_result As Integer = CInt(cmd_query.ExecuteScalar()) 

Geçerli ekin AUTO_INCREMENT değerini döndürmek ve bir msgbox içinde göstermek istiyorum.Dönüş Son Kimlik (IDENTITY) Açık Satır Ekle VB.NET MySQL

+0

Sorgu önerileri gibi bir ID'yi gerçekten iletiyor musunuz? Yoksa gerçekten bir otomatik artış mı? MySQL'de bir işlemde son otomatik artırılmış kimliği almak için 'LAST_INSERT_ID' seçebilirsiniz. – David

+0

Hayır, THe id MySQL tarafından üretildi, ben sadece –

cevap

13

Bir çift sorgusu kullanmak ve geçerli son sorguyu almak için fonksiyonunu ilk sorguyu çalıştırdıktan sonra LAST_INSERT_ID() kullanabileceği gösterebilir:

Dim insert_coupon_query As String = ("INSERT INTO qa_discountcoupons (status_code) VALUES (5); SELECT LAST_INSERT_ID()") 
       Dim cmd_query As New MySqlCommand(insert_coupon_query, objConn) 
       Dim cmd_result As Integer = CInt(cmd_query.ExecuteScalar()) 

       MsgBox(cmd_result) 
+0

durum kodunu iletiyorum Mükemmel çalışıyor !, Teşekkürler –

+0

Biz vb.net sql deyiminde bir çift sorgu kullanabileceğini düşünmemiştim. Otomatik artış numarasını ID sütunundan almaya yardımcı olur. Teşekkür ederim. – surpavan

0

Bir MySQL query üzerinden bir tablo için AUTO_INCREMENT değerini alıp sonra MsgBox