Dans mon projet J'utilise system.data.sqlite . La base de données a une table tags code>, qui contient le champ primaire AutoOrremrement
ID code> (type
entier code>). Lorsque j'écris:
command.Parameters.Add("@id", DbType.Int32).Direction = ParameterDirection.Output;
3 Réponses :
Je conseille d'utiliser la procédure stockée.
dans SQL Server a @@ identité code> variable système. Il renvoie la dernière valeur Autooincretime p>
Pardon. Je ne savais pas que vous utilisez SQLite. Cela fonctionne dans SQL Server
J'ai trouvé la requête de travail:
Comment ça marche? I Obtenir une erreur de syntaxe: Insertion de l'instruction INSERT dans les commandes (nom) Valeurs (@ P0) Sélectionnez Last_Insert_Rowid ()
SQLite 3.35.0 et Newer prend en charge Retour Clause:
La clause de retour est conçue pour fournir l'application avec les valeurs des colonnes remplies automatiquement par SQLite. P> blockQuote>
Le code pourrait ressembler à: p>
xxx pré> p>
Où est le code de travail? J'ai le même problème, mais je trouve "Sélectionnez" Sélectionnez Last_insert_rowid () "pour être ennuyeux vague. Comment @name set? Où est-ce que "Sélectionnez Last_insert_rowid ()" Go? De côté: quelle fonctionnalité avez-vous ajouté à calibre? ;)
Je pense que vous ne pouvez pas définir @name. Vous devez avoir un nom «ID». "Sélectionnez Last_Insert_Rowid ()" Travailler avec le dernier insert.