怎么用C#链接SQLite 数据库 基于window mobile 平台 报错“Can't find PInvoke DLL 'SQLite.Interop”

congbujiujie 2010-07-18 11:40:35

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.Data.SQLite;



namespace dabalink
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
SQLiteConnection conn = new SQLiteConnection();
conn.ConnectionString = @"Data Source=e:\wmapp\dabalink\dabalink\test.db";
conn.Open();
SQLiteCommand cmd = new SQLiteCommand(conn);
cmd.CommandText = "select * from book";

SQLiteDataAdapter da = new SQLiteDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);


}
}
}
我想链接一下数据库,但是老报错,Can't find PInvoke DLL 'SQLite.Interop.066.DLL'.引用我已经添加了。这是为什么啊!请大虾们来帮忙啊
...全文
1010 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
BenQQQQQQQ 2011-07-09
  • 打赏
  • 举报
回复
你这个我前天也遇到了,也纠结了两天,终于解决了,
你要找到你的sqlite的安装目录,然后打开bin\CompactFramework\下有个SQLite.Interop.066.DLL文件,将它复制到你的项目的解决方案资源管理器下,
选中SQLite.Interop.066.DLL,在属性面板中,将复制到输出目录一项,改成“始终复制”
就ok了
asnow1989 2011-03-28
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 lfw123084 的回复:]
引用 11 楼 congbujiujie 的回复:
谢啦,解决啦


打扰了不好意思我也碰到这个问题是怎么解决的啊
[/Quote]
不好意思,我也遇到了同样的问题,请问是怎么解决的?
谢谢了。
陆仁 2010-12-21
  • 打赏
  • 举报
回复
已经解决了
是共用钥匙的问题
详细可以参考http://www.cnblogs.com/yelaiju/archive/2010/12/21/1912541.html
lfw123084 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 congbujiujie 的回复:]
谢啦,解决啦
[/Quote]

打扰了不好意思我也碰到这个问题是怎么解决的啊
zhaoshangshang 2010-07-19
  • 打赏
  • 举报
回复
VS2008应该自带远程同步工具的,使用Remote File Viewer可以将那个dll部署到程序目录下。或者可以使用同步工具ActiveSync同步模拟器,就可以在PC机上看到模拟器的目录了。
congbujiujie 2010-07-19
  • 打赏
  • 举报
回复
请大家帮帮忙啊,说的仔细一点啊! 我实在是连不上了!在就是模拟机的环境咋配置啊,我用的是vs2008 !大侠们指点!!!感激不尽!!!!!!!!!!!!!
congbujiujie 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jiangyongtao 的回复:]
是不是在手机或模拟器上没有部署相应的dll?
[/Quote] 模拟器上怎么部署dll文件啊 !请大侠指点!!
congbujiujie 2010-07-19
  • 打赏
  • 举报
回复
谢啦,解决啦
http_it 2010-07-19
  • 打赏
  • 举报
回复
如果是真机上运行,必须拷贝那个dll,如果是在模拟器里,你就把那个 dll 拷贝到模拟器里啊,在项目debug 的时候,打开windows 资源管理器--移动设备--我的Windows移动设备--Program Files--你的项目目录下。
shmilylee 2010-07-19
  • 打赏
  • 举报
回复
'SQLite.Interop.066.DLL'这个DLL包含在项目里,
属性:如果较新则复制、内容
部署的时候就自动部署上去了

注意:好像必须包含在项目的根目录下面,在文件夹中无效
世外涛缘 2010-07-18
  • 打赏
  • 举报
回复
是不是在手机或模拟器上没有部署相应的dll?
zhaoshangshang 2010-07-18
  • 打赏
  • 举报
回复
'SQLite.Interop.066.DLL'这个库要放在.exe的目录下
zhang_2007 2010-07-18
  • 打赏
  • 举报
回复
能不能具体一点啊,我用的是模拟器,我不知道'SQLite.Interop.066.DLL'到底要放到哪里去啊
Joe-xXx 2010-07-18
  • 打赏
  • 举报
回复
Can't find PInvoke DLL 'SQLite.Interop.066.DLL'.这个不就是原因了么?!!
zhaoshangshang 2010-07-18
  • 打赏
  • 举报
回复
要部署SQLite安装目录下bin目录下的SQLite.Interop.065.DLL,我用的是这个链接库,它是需要手动添加,程序不会自动部署

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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