C#里面怎么使用sqlite3.dll
不想用C#版本的dll,想用C版本的dll。C#版本的效率比较差。
原来想过用SQL Server Compact的,不过他好像字段限制比较死,最多8000,大点的图片都存不了啊。
所以改用sqlite。我下了《孜孜不倦的程序员:SQLite 内幕》的代码。下面是他什么dll函数的代码。
这样当我调用sqlite3_open时,总是报调用“导致堆栈不对称,PInvoke签名与非托管的目标签名不匹配”。
如果我强行执行,其实数据库还是能建立的,也能建表。很奇怪。
不知道如何解决,请大家帮帮忙。
原来想过用SQL Server Compact的,不过他好像字段限制比较死,最多8000,大点的图片都存不了啊。
所以改用sqlite。我下了《孜孜不倦的程序员:SQLite 内幕》的代码。下面是他什么dll函数的代码。
...
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_open")]
static extern int sqlite3_open(string filename, out IntPtr db);
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_close")]
static extern int sqlite3_close(IntPtr db);
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_prepare_v2")]
static extern int sqlite3_prepare_v2(IntPtr db, string zSql,
int nByte, out IntPtr ppStmpt, IntPtr pzTail);
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_step")]
static extern int sqlite3_step(IntPtr stmHandle);
...
这样当我调用sqlite3_open时,总是报调用“导致堆栈不对称,PInvoke签名与非托管的目标签名不匹配”。
如果我强行执行,其实数据库还是能建立的,也能建表。很奇怪。
不知道如何解决,请大家帮帮忙。
...全文
相关推荐
sqlite 需要的dll -sqlite3 -System.Data.SQLite-SQLite.Interop
做C#内嵌数据时 提示少的dll 放到执行文件的同目录下
SQLite3打包下载
SQLite3 并配有一个导入C#工程的DLL
c#sqlite的dll文件:System.Data.SQLite.DLL
包含各个环境的dll ,64位,32位,CompactFramework等多种;好不容易才找到的,转载下,希望要用的朋友们能快速找到。免费提供,呵呵
System.Data.SQLite.DLL C# 读写sqlite数据库
System.Data.SQLite.DLL C# 读写sqlite数据库 亲测可用 不能读取加密的sqlite数据库
sqlite3net编程dll
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 对应.net4.0包括32位和64位。


