Tag: system.data.sqlite

C#SQLite参数化选择使用LIKE

我正在尝试做一个SQL查询,如 SELECT * FROM [TABLE] WHERE hostname LIKE ‘%myhostname%’; 这在纯SQL中工作正常,但是当我在C#中使用System.Data.SQLite时,它只适用于文字,而不是参数,例如 string sel = “SELECT * FROM [TABLE] WHERE hostname LIKE ‘%@host%'”; … command.Parameters.AddWithValue(“@host”, “myhostname”); 这不会返回任何结果。

通过System.Data.SQLite和c#多次访问单个SQLite数据库文件

正如我可以从SQLite FAQ中读到的,它支持多个进程读取(SELECT),并且在任何时刻都只支持一个进程编写(INSERT,UPDATE,DELETE)数据库: SQLite使用读取器/写入器锁来控制对数据库的访问。 当任何进程想要写入时,它必须在更新期间锁定整个数据库文件。 但这通常只需要几毫秒。 其他流程只是等待作者完成然后继续他们的业务 我通过c#使用System.Data.SQLite适配器。 有人可以告诉我PLZ,这个过程到底是怎么回事? 这个过程是否会自动运行,编写SQLiteCommand只会等待另一个SQLiteCommand已经在同一个数据库上执行? 或者它可能会抛出exception? 什么样的? 对不起,我发现没有关于这个机制的信息:) 谢谢。 更新: 我发现post说exception会引发一个特定的错误代码 这个陈述是否正确?

HOWTO:带有EntityFramework和Code-First的SQLite

我正在尝试使用EF动态创建嵌入式SQLite数据库但是,我无法使其工作,数据库文件永远不会被创建。 我有EF 4.2和最新版本的SQLite 这就是我所拥有的 的app.config 数据库初始化程序(放入一些内容) class PageDbInitializer : DropCreateDatabaseAlways { protected override void Seed(PageDB context) { for (int i = 0; i < 10; i++) { WebPage page = new WebPage() { Name = "Page" + (i + 1) }; context.Pages.Add(page); } base.Seed(context); } } 的DbContext: class PageDB : DbContext { public DbSet Pages […]

使用System.Data.Sqlite进行Sqlite在线备份

在数据库仍处于联机状态时,如何在本机C#代码中备份sqlite数据库? 所有在线备份api示例都使用C代码。

SQLite更新后:无法在DLL“SQLite.Interop.dll”中找到名为“sqlite3_changes_interop”的入口点

我的C#/ SQLite工作正常,直到我决定更新SQLite DLL(从1.0.82.0到1.0.84.0)。 现在我遇到了这个崩溃: 无法在DLL“SQLite.Interop.dll”中找到名为“sqlite3_changes_interop”的入口点 A first chance exception of type ‘System.EntryPointNotFoundException’ occurred in System.Data.SQLite.dll System.Transactions Critical: 0 : http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/UnhandledUnhandled exceptionSparkleShare.vshost.exeSystem.EntryPointNotFoundException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Unable to find an entry point named ‘sqlite3_changes_interop’ in DLL ‘SQLite.Interop.dll’. at System.Data.SQLite.UnsafeNativeMethods.sqlite3_changes_interop(IntPtr db) at System.Data.SQLite.SQLite3.get_Changes() at System.Data.SQLite.SQLiteStatement.TryGetChanges(Int32&amp; changes) at System.Data.SQLite.SQLiteDataReader.NextResult() at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave) at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior) at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery() […]

System.Data.SQLite参数问题

我有以下代码: try { //Create connection SQLiteConnection conn = DBConnection.OpenDB(); //Verify user input, normally you give dbType a size, but Text is an exception var uNavnParam = new SQLiteParameter(“@uNavnParam”, SqlDbType.Text) { Value = uNavn }; var bNavnParam = new SQLiteParameter(“@bNavnParam”, SqlDbType.Text) { Value = bNavn }; var passwdParam = new SQLiteParameter(“@passwdParam”, SqlDbType.Text) {Value = passwd}; var […]

使用ExecuteNonQuery()时从SQLite检索错误代码

在我的C#项目中,我正在使用从CodeProject下载的System.Data.SQLite.dll 。 我的问题是根据标题 – 如何在调用SqliteCommand.ExecuteNonQuery()函数后获取错误代码? 错误代码,如SQLITE_CONSTRAINT, SQLITE_BUSY, SQLITE_LOCKED ,如下所示。

使用System.Data.SQLite,如何使用相对路径在连接字符串中指定数据库文件

想要在不同的服务器上部署我的项目,我希望能够使用相对路径指定连接字符串。 我似乎无法让它工作,并想知道是否有一些技巧…?