Tag: sqlite

SQLiteDataAdapter Update方法返回0

我从我的CSV文件中加载了83行,但是当我尝试更新SQLite数据库时,我得到0行……我无法弄清楚我做错了什么。 该方案产出: Num rows loaded is 83 Num rows updated is 0 源代码是: public void InsertData(String csvFileName, String tableName) { String dir = Path.GetDirectoryName(csvFileName); String name = Path.GetFileName(csvFileName); using (OleDbConnection conn = new OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + dir + @”;Extended Properties=””Text;HDR=Yes;FMT=Delimited”””)) { conn.Open(); using (OleDbDataAdapter adapter = new OleDbDataAdapter(“SELECT * FROM ” + name, conn)) { […]

WP8 SQLite错误:找不到指定的模块

我正在尝试从我的Windows Phone 8应用程序访问SQLite数据库,但每当遇到SQLite代码时遇到以下错误: {System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E) at System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD) at Sqlite.Sqlite3.sqlite3_open_v2(String filename, Database& db, Int32 flags, String zVfs) at SQLite.SQLite3.Open(String filename, Database& db, Int32 flags, IntPtr zVfs) at SQLite.SQLiteConnection..ctor(String databasePath, SQLiteOpenFlags openFlags, Boolean storeDateTimeAsTicks) at TopoMap.Map.MapTileServer.d__0.MoveNext()} 我已经安装了适用于Windows Phone的Visual Studio扩展SQLite (v3.8.4.3)。 我已经安装了sqlite-net-wp8 NuGet包(v3.8.4.3)。 我已经将SQLite.cs和SQLiteAsync.cs添加到我的项目中。 我已经将USE_WP8_NATIVE_SQLITE条件编译符号添加到我的项目中。 项目运行正常,没有任何问题,直到访问基础Sqlite3类的一行代码。 任何想法可能是什么问题?

OS X上的Mono:System.Data.SQLite不起作用

我打算用Mono和SQLite作为数据库来做一个项目。 开发主要在Mac上完成。 我已成功设置Mono并测试了System.Data.SQLite(托管dll)。 简单的测试应用程序完美运 但是,当我尝试在我的代码中使用DataTable ,它会抛出运行时exception。 以下是代码段: public static void Main (string[] args) { string connectionString = “Data Source=emp.db”; try { using (SQLiteConnection conn = new SQLiteConnection(connectionString)) { string query = “SELECT firstname, lastname FROM employees”; using (SQLiteCommand comm = new SQLiteCommand(query, conn)) { conn.Open(); comm.CommandText = query; using (SQLiteDataReader reader = comm.ExecuteReader()) { while […]

SQLite错误:’DbProviderFactories’部分每个配置文件只能出现一次(IBM Client Access)

我正在使用我的应用程序Entity Framework和System.Data.SQLite在.NET 4.5上使用WPF和C#在我的机器上运行良好,但在测试机器上,当我通过EntityFramework访问sqlite数据库时收到此错误: “DbProviderFactories”部分每个配置文件只能出现一次。 我发现错误是在测试机器中,在machine.config中: 我删除了最后一个空元素,现在一切正常。 我想我有一些与IBM.Data.DB2.iSeries istallation(IBM Client Access)相关的东西。 我的问题是:如何在不手动编辑machine.config的情况下删除空元素? 我尝试在app.config文件中插入标记但不起作用。 我发现其他类似于我的问题,但没有人建议如何解决问题而无需手动编辑machine.config来解决问题。 这是我的app.config文件:

SQLite连接未出现在实体数据模型向导中

我做了什么来得到我的位置:我使用GAC和VS2012选项从http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki安装了程序集。 我现在可以连接到现有的SQLite数据库,或建立连接并创建新的SQLite数据库文件。 此连接将出现在我的服务器资源管理器中,并且工作正常。 我可以从资源管理器中查看此数据库并更改表等。 但是,当我尝试添加新的ADO.NET实体数据模型时,这个已建立的连接将不会出现在可用的数据连接中。 即使我继续进行新连接, System.Data.SQLite数据库文件选项甚至不在选项列表中。 我尝试单独或与SQLite包一起使用NuGet安装实体包。 我已经尝试过不安装它们或仅将Entity模型与前面提到的程序集一起安装,但SQLite的选项不会出现。 经过谷歌搜索和溢出这个令人沮丧的时间,并发现只有一小部分人显示出与我相同的问题,但没有解决方案对我有用,我来找你帮忙。 经过我所有的努力,我怀疑它归结为我的App.config文件。 我看起来如下: 类似的问题: 数据库首先使用system.data.sqlite 1.0.93创建entity framework6.1.1模型 http://sqlite.1065341.n5.nabble.com/Provider-not-showing-up-in-Net-Model-import-wizard-td75306.html 我使用了vs2012 .NET 4.5,SQLite版本1.0.96.0,实体6.1.3 我希望有人能够帮助我。

使用Blob在SQLite中存储Byte数组

对于我的应用程序,我正在尝试在我的SQLite应用程序中存储一个字节数组,我用这种方式填充我的SQLite数据库: public bool InsertMessage() { //create string SQl and fill it with the SQLite query for inserting a message. string SQL = “Insert into ClockMessages(InsertDateTime, SendDateTime, Data) Values(‘”+ insertdatetime + “‘, null, ‘” + data + “‘);”; List pars = new List(); pars.Add(new SQLiteParameter(“InsertDateTime”, insertdatetime)); pars.Add(new SQLiteParameter(“Data”, data)); //send the SQl query and it’s parameters […]

在C#中使用sqlite进行SQL转义

我有一个文本字段,它打破了我的SQL语句。 我如何逃脱该领域的所有角色? 我在C#中使用带有http://sqlite.phxsoftware.com/的 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会引发一个特定的错误代码 这个陈述是否正确?

如何回收我的SqliteCommand来加速这个Sqlite批量插入(iOS)?

我正在使用下面的代码批量插入30000行(一次1000行)。 它仍然没有那么快。 在这个例子中提高了SQLite的每秒INSERT性能? 我可以看到他们只创建了一次SqliteCommand,然后重新循环它重置它并清除绑定。 但是,我在iOS / Monotouch上找不到合适的方法。 没有Reset()或ClearBindings()或其他类似的东西。 using ( var oConn = new SqliteConnection ( “Data Source=” + DB_NAME ) ) { oConn.Open ( ); // Wrap the whole bulk insertion into one block to make it faster, otherwise one transaction per INSERT would be created. // Note that this is differen from “BEGIN […]