Obtenir le Dernier ID inséré avec SQLite.NET en C#

J'ai un problème simple avec un pas si simple solution... je suis actuellement insérer des données dans une base de données comme ceci:

                kompenzacijeDataSet.KompenzacijeRow kompenzacija = kompenzacijeDataSet.Kompenzacije.NewKompenzacijeRow();
                kompenzacija.Datum = DateTime.Now;
                kompenzacija.PodjetjeID = stranka.id;
                kompenzacija.Znesek = Decimal.Parse(tbZnesek.Text);

                kompenzacijeDataSet.Kompenzacije.Rows.Add(kompenzacija);

                kompenzacijeDataSetTableAdapters.KompenzacijeTableAdapter kompTA = new kompenzacijeDataSetTableAdapters.KompenzacijeTableAdapter();
                kompTA.Update(this.kompenzacijeDataSet.Kompenzacije);

                this.currentKompenzacijaID = LastInsertID(kompTA.Connection);

La dernière ligne est important. Pourquoi dois-je fournir un lien? Il y a bien une SQLite fonction appelée last_insert_rowid() que vous pouvez appeler et obtenir le dernier ID inséré. Le problème est qu'il est lié à une connexion et .NET semble être la réouverture et la fermeture de connexions pour chaque dataset opération. J'ai pensé que l'obtention de la connexion d'un adaptateur qui permettrait de changer les choses. Mais il ne le fait pas.

Serait ce que quelqu'un sait comment résoudre ce problème? Peut-être que pour obtenir une connexion constante à partir de? Ou peut-être quelque chose de plus élégant?

Merci.

EDIT:

C'est aussi un problème avec les transactions, j'aurais besoin de la connexion même si je veux utiliser les transactions, ce qui est également un problème...

InformationsquelleAutor vanneto | 2010-12-02