En mi proyecto uso System.Data.SQLite. La base de datos tiene la tabla Tags
, que contiene el campo primario autoincrement ID
(tipo Integer
). Cuando escribo:¿Cómo devolver el valor de autoincrement en Insertar consulta en SQLite?
using (SQLiteCommand command = conn.CreateCommand())
{
command.CommandText = "insert into Tags(name) values(@name) returning into @id";
command.Parameters.Add("@id", DbType.Int32).Direction = ParameterDirection.Output;
command.ExecuteNonQuery();
}
Visual Studio dijo que la operación no es compatible. ¿Como arreglarlo?
Se produce un error en la línea: consejos
command.Parameters.Add("@id", DbType.Int32).Direction = ParameterDirection.Output;
¿Dónde está el código de trabajo? Tengo el mismo problema, pero considero que "SELECT last_insert_rowid()" es molestamente vago. ¿Cómo se establece @name? ¿Dónde va "SELECT last_insert_rowid()"? Aparte: ¿Qué funcionalidad has agregado a Calibre? ;) – hoytster
Creo que no puedes establecer @name. Tu clave debe tener el nombre 'Id'. "SELECCIONE last_insert_rowid()" trabajo con la última inserción. – dublicator