Obtenir l'id de la ligne insérée à l'aide de C#

J'ai une requête pour insérer une ligne dans une table, qui a un champ ID, qui est rempli à l'aide d'un AUTO_INCREMENT sur la colonne. J'ai besoin d'obtenir cette valeur pour la prochaine peu de fonctionnalités, mais quand je lance le suivant, il retourne toujours 0 même si la valeur réelle n'est pas 0:

MySqlCommand comm = connect.CreateCommand();
comm.CommandText = insertInvoice;
comm.CommandText += "\'" + invoiceDate.ToString("yyyy:MM:dd hh:mm:ss") + "\', " + bookFee + ", " + adminFee + ", " + totalFee + ", " + customerID +  ")";
int id = Convert.ToInt32(comm.ExecuteScalar());

Selon ma compréhension, il doit retourner l'ID de la colonne, mais elle retourne 0 à chaque fois. Des idées?

EDIT:

Quand je le lance:

"INSERT INTO INVOICE (INVOICE_DATE, BOOK_FEE, ADMIN_FEE, TOTAL_FEE, CUSTOMER_ID) VALUES ('2009:01:01 10:21:12', 50, 7, 57, 2134);last_insert_id();"

J'obtiens:

{"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'last_insert_id()' at line 1"}
  • 1. Pouvez-vous poster le dernier CommandText qui est exécutée? 2. Les documents effectivement être inséré?
  • J'ai posté la requête, l'erreur, et oui, les lignes sont insérées.
  • OK, comment sur "SELECT last_insert_id();" à la fin?
InformationsquelleAutor Elie | 2009-01-02