Tengo una aplicación de WPF donde puedo acceder a una base de datos SQLite a través de ADO.NET (http://adodotnetsqlite.sourceforge.net/). Hasta ahora todo funciona bien, pero cuando intento ejecutar la siguiente instrucción SQL:

 sqlite_cmd.CommandText = "CREATE TABLE IF NOT EXISTS notes (id integer primary key, text varchar(100));";
 sqlite_cmd.ExecuteNonQuery();

Me sale el siguiente excepción:

An exception of type 'Finisar.SQLite.SQLiteException' occurred in SQLite.NET.dll but was not handled in user code.
Additional information: near "NOT": syntax error

Cuando me quite la IF NOT EXISTS parte funciona bien, pero quiero crear la tabla sólo si no está ya allí. Hay algo que estoy haciendo mal?

InformationsquelleAutor stefan | 2015-03-13

1 Comentario

  1. 4

    Esta pregunta tiene algunas respuestas que pueden ser útiles. A partir de esa pregunta, sin embargo, esta respuesta sugiere que SQLite 3.3 y por encima de apoyo IF NOT EXISTS.

    Basa en que la pregunta respuestas, usted podría tratar de seleccionar el RECUENTO de las tablas denominadas «notas» el uso de este (ligeramente modificada) consulta:

    SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='notes';

    A continuación, puede probar el resultado de esa consulta. Si hay 0 resultados, crear la tabla. De lo contrario, no crear la tabla.

Dejar respuesta

Please enter your comment!
Please enter your name here