Crear base de datos SQLite y tabla

Dentro del código de la aplicación C #, me gustaría crear y luego interactuar con una o más bases de datos SQLite.

¿Cuál es el método preferido para inicializar un nuevo archivo de base de datos SQLite y abrirlo para leer y escribir?

Después de la creación de la base de datos, ¿cómo puedo ejecutar una statement DDL para crear una tabla?

El siguiente enlace lo llevará a un gran tutorial, ¡eso me ayudó mucho!

Cómo SQLITE en C #

Casi uso todo en ese artículo para crear la base de datos SQLite para mi propia aplicación C #.

No se olvide de descargar SQLite.dll y agréguelo como referencia a su proyecto. Esto se puede hacer usando NuGet y agregando el dll manualmente.

Después de agregar la referencia, consulte el dll de su código usando la siguiente línea en la parte superior de su clase:

using System.Data.SQLite;

Puedes encontrar el dll aquí:

SQLite DLL’s

Puedes encontrar la forma NuGet aquí:

NuGet

A continuación está el script de creación. Creando un archivo de base de datos:

 SQLiteConnection.CreateFile("MyDatabase.sqlite"); SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;"); m_dbConnection.Open(); string sql = "create table highscores (name varchar(20), score int)"; SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); command.ExecuteNonQuery(); sql = "insert into highscores (name, score) values ('Me', 9001)"; command = new SQLiteCommand(sql, m_dbConnection); command.ExecuteNonQuery(); m_dbConnection.Close(); 

Después de crear un script de creación en C #, creo que es posible que desee agregar transacciones de reversión, es más seguro y evitará que su base de datos falle, ya que los datos se comprometerán al final en una gran pieza como una operación atómica al base de datos y no en pequeñas piezas, donde podría fallar en 5 de 10 consultas, por ejemplo.

Ejemplo sobre cómo usar transacciones:

  using (TransactionScope tran = new TransactionScope()) { //Insert create script here. //Indicates that creating the SQLiteDatabase went succesfully, so the database can be committed. tran.Complete(); }