He hecho esto antes en C++ al incluir sqlite.h, pero ¿hay alguna manera similarmente fácil en C#?¿Cuál es la mejor manera de conectar y usar una base de datos sqlite desde C#
Respuesta
ADO.NET 2.0 Provider for SQLite tiene más de 200 descargas cada día, por lo que creo que está seguro de usar esa.
Hay una lista de contenedores Sqlite para .Net en http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers. Por lo que he escuchado http://sqlite.phxsoftware.com/ es bastante bueno. Este en particular le permite acceder a Sqlite a través de ADO.Net al igual que cualquier otra base de datos.
He utilizado este con gran éxito:
http://system.data.sqlite.org/
libre sin restricciones.
(Nota de opinión: Sitio original ya no existe El enlace de arriba tiene un enlace que apunta al sitio 404 y tiene toda la información del original.)
--Bruce
También hay ahora esto opción: http://code.google.com/p/csharp-sqlite/ - un puerto completo de SQLite a C#.
Estoy con, Bruce. YO ESTOY usando http://system.data.sqlite.org/ con gran éxito también. He aquí un ejemplo simple clase que he creado:
using System;
using System.Text;
using System.Data;
using System.Data.SQLite;
namespace MySqlLite
{
class DataClass
{
private SQLiteConnection sqlite;
public DataClass()
{
//This part killed me in the beginning. I was specifying "DataSource"
//instead of "Data Source"
sqlite = new SQLiteConnection("Data Source=/path/to/file.db");
}
public DataTable selectQuery(string query)
{
SQLiteDataAdapter ad;
DataTable dt = new DataTable();
try
{
SQLiteCommand cmd;
sqlite.Open(); //Initiate connection to the db
cmd = sqlite.CreateCommand();
cmd.CommandText = query; //set the passed query
ad = new SQLiteDataAdapter(cmd);
ad.Fill(dt); //fill the datasource
}
catch(SQLiteException ex)
{
//Add your exception code here.
}
sqlite.Close();
return dt;
}
}
También hay un NuGet package: System.Data.SQLite disponible.
"Fuente de datos =/ruta/a/archivo.db; Nuevo = Falso; " *** si no desea perder todos sus datos y tablas cada vez ***. – Fil
no funciona en VS 2017.Muestra el siguiente error: Excepción no controlada: System.BadImageFormatException: No se pudo cargar el archivo o ensamblado 'System.Data.SQLite, Version = 1.0.79.0, Culture = neutral, PublicKeyToken = db937bc2d44ff139'. Se intentó cargar un programa con un formato incorrecto. en ConsoleApp1_del2.Program.Main (String [] args) –
Mono viene con una envoltura, usa la suya!
https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 da el código para envolver el dll de SQLite real (http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip que se encuentra en la página de descarga http://www.sqlite.org/download.html/) de forma amigable .net. Funciona en Linux o Windows.
Parece el más delgado de todos los mundos, lo que minimiza su dependencia de las bibliotecas de terceros. Si tuviera que hacer este proyecto desde cero, esta es la forma en que lo haría.
Otra forma de utilizar la base de datos SQLite en NET Framework es usar Fluent-NHibernate.
[Es módulo de red que se envuelve alrededor de NHibernate. (Módulo de ORM - Object Relational Mapping) y permite configurar NHibernate mediante programación (sin archivos XML) con el patrón de fluidez]
Aquí está la breve 'Introducción' Descripción de cómo para hacer esto en C# paso a paso:
https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started
incluye un código fuente como un proyecto de Visual Studio.
https://github.com/praeclarum/sqlite-net ahora es probablemente la mejor opción.
- 1. ¿Cuál es la mejor manera de sincronizar de una manera desde una base de datos del servidor al iPhone?
- 2. ¿Cuál es la mejor manera de insertar inserciones de bases de datos a granel desde C#?
- 3. cómo conectar una base de datos sqlite usando PHP?
- 4. ¿Cómo usar la base de datos SQLite desde MS Access?
- 5. ¿Cuál es la mejor forma de convertir una base de datos mysql a sqlite?
- 6. ¿Cuál es la mejor manera de usar mongoDB con node.js?
- 7. Cifrar base de datos SQLite en C#
- 8. ¿Cuál es la mejor manera de almacenar datos de tendencia?
- 9. ¿Cuál es la mejor manera de almacenar/recuperar datos para un escritorio sin usar una base de datos?
- 10. ¿Cuál es la mejor manera de asegurar una cadena de conexión de base de datos?
- 11. ¿Cuál es la mejor manera de sincronizar 2 tablas sqlite con http y json?
- 12. ¿Cuál es la mejor manera de copiar una base de datos?
- 13. ¿Cuál es la mejor manera de almacenar archivos multimedia en una base de datos?
- 14. ¿Cuál es la mejor manera de hablar con una base de datos mientras usa Sinatra?
- 15. ¿Cuál es la mejor manera de perfilar una base de datos sqlserver 2005 para el rendimiento?
- 16. ¿Cuál es la mejor manera de almacenar un valor monetario en la base de datos?
- 17. ¿Cuál es la mejor manera de migrar datos en django
- 18. ¿Es mejor almacenar datos en una base de datos plist o Sqlite?
- 19. ¿Por qué usar la base de datos sqlite en Android?
- 20. ¿Cuál es la mejor base de datos para usar en una aplicación de escritorio Java?
- 21. ¿Cuál es la mejor manera de enviar datos insertados desde SQL Server a una aplicación?
- 22. ¿Cuál es la mejor forma de archivar datos en una base de datos Oracle?
- 23. ¿Cuál es la mejor manera de almacenar información de zona horaria en mi base de datos?
- 24. ¿Cuál es la mejor forma de migrar una base de datos de Django de SQLite a MySQL?
- 25. ¿Cuál es la mejor base de datos para usar con un programa Java?
- 26. ¿Cuál es la "mejor" base de datos para incrustado?
- 27. ¿Cuál es la mejor forma de conectarse entre la base de datos android y oracle?
- 28. ¿Cuál es la mejor manera de almacenar una matriz de bytes en la base de datos SQL utilizando NHibernate?
- 29. ¿Cuál es la mejor base de datos de objetos Java?
- 30. ¿Cuál es la mejor manera de usar la versión de archivo y la versión de ensamblaje?
Este es un duplicado de esta pregunta: http://stackoverflow.com/questions/93654/is-there-a-netc-wrapper-for-sqlite y tiene una respuesta diferente. –
Posible duplicado de [¿Hay un contenedor .NET/C# para SQLite?] (Https://stackoverflow.com/questions/93654/is-there-a-net-c-wrapper-for-sqlite) – Flimzy