64位wince下C#用哪个dll做sqlite数据库,求网址

欧尔迈特1994 2017-06-03 04:22:03
我用VS2005建了一个解决方案,从网上down了一个system.data.sqlite.dll 还有另一个DLL,但是把做好的程序放入PDA中,就是报错,说找不到sqlite引用,纳闷死了,换了几百个DLL,都不行,我生成平台是X64,开发平台(vs2005),使用环境是wince5.0.求大神给个解释。
...全文
230 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmidl 2017-06-04
  • 打赏
  • 举报
回复
我好像有的 32位和64位的 以前我开发过同济大学道闸收费的时候就用手持wince的楼主算是找到人了。我现在就去翻一下啊。
  • 打赏
  • 举报
回复
不过要注意,它只支持 .net3.5 以上。
  • 打赏
  • 举报
回复
引用 楼主 qq_30154391 的回复:
我用VS2005建了一个解决方案,从网上down了一个system.data.sqlite.dll 还有另一个DLL,但是把做好的程序放入PDA中,就是报错,说找不到sqlite引用,纳闷死了,换了几百个DLL,都不行,我生成平台是X64,开发平台(vs2005),使用环境是wince5.0.求大神给个解释。
https://sqlcetoolbox.codeplex.com/ 这里是官方的 toolkit HOME 地址。其它的先不要考虑!!!
  • 打赏
  • 举报
回复
引用 楼主 qq_30154391 的回复:
我用VS2005建了一个解决方案,从网上down了一个system.data.sqlite.dll 还有另一个DLL,但是把做好的程序放入PDA中,就是报错,说找不到sqlite引用,纳闷死了
你可能是把 .net framework 下的驱动误以为是 .net compact framework 下的驱动去安装了。
  • 打赏
  • 举报
回复
.net Compact Framework 大概是就到 3.5 版吧?或许最高只能使用 vs 2008 或者 vs2010 版本。 不知道我在 #4 楼贴出的地址是不是支持 compact framework 的。如果不支持,那么还真的找找过去的 sqlite 官网上的驱动。
泡泡龙 2017-06-03
  • 打赏
  • 举报
回复
1) 首先是按类型分为安装包、非静态连接的二进制包和静态连接的二进制包。安装包会安装相关的动态库到系统内,并注册到GAC(Global Assembly Cache);两种二进制包的区别在于非托管部分的连接方式不同,非静态连接的二进制包在使用时需要VC运行时库的支持。需要注意的是:如果需要在Visual Studio中连接SQLite数据库,就必须选择合适的安装包进行安装。 比如,要在Visual Studio 2010中连接SQLite,应该下载“sqlite-netFx40-setup-bundle-x86-2010-1.0.90.0.exe”,这在下载包的说明中有明确黑体字说明。 2) 每个类型都按.NET版本分成了若干小组,目前从.NET 2.0 SP2到.NET 4.5.1,一共支持5个版本的.NET Framework。每个.NET版本又分为32位和64位两组。选用32位还是64位是根据使用系统来决定的。比如开发的时候是64位系统而发布后运行在32位系统上,就需要在开发时使用64位System.Data.SQLite.dll,而在发布时用32位的System.Data.SQLite.dll替换 (看起来很麻烦的样子~~请看后面的解决办法~~) 。 3) 在每个.NET版本分组中都有2个文件包,一个带有“bundle”字样,另一个没有。其中带有“bundle”字样的表示动态库是按混合模式编译的,在使用的时候只需要System.Data.SQLite.dll就可以了,而不带“bundle”的则是将非托管部分和托管部分分别编译,System.Data.SQLite.dll不能独立使用,还需要有SQLite.Interop.dll才能使用。 言归正传,如果要使用“Any CPU”的System.Data.SQLite.dll,就必须使用不带“bundle”字样,即非混合编译的二进制包。 非混合编译的二进制包有System.Data.SQLite.dll和SQLite.Interop.dll两个动态库。按官方说明,SQLite.Interop.dll是可以放与System.Data.SQLite.dll相同的目录下,也可以放在x86或x64子目录下,由System.Data.SQLite.dll根据系统类型调用。为了确认,下载如下两个包来进行比较: sqlite-netFx40-binary-Win32-2010-1.0.90.0.zip sqlite-netFx40-binary-x64-2010-1.0.90.0.zip 结果发现只有SQLite.Interop.*不同,其它文件都完全相同 最后需要做的就是在Visual Studio项目中引用System.Data.SQLite.dll,再将x86\SQLite.Interop.dll和x64\SQLite.Interop.dll拷贝到项目根目录,包含在项目中,在属性中设置“如果较新则复制”或“始终复制”。生成结果就像这样: TestSQLite\bin\Debug │ System.Data.SQLite.dll │ TestSQLite.exe ├─x64 │ SQLite.Interop.dll └─x86 SQLite.Interop.dll
欧尔迈特1994 2017-06-03
  • 打赏
  • 举报
回复
引用 1楼TOFEMALE 的回复:
别搞微软的玩具,还不如花点时间学点C/C++,计算机原理,MFC...
工作需要,我也不想弄这些东西

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧