C#中如何读取2个sqlite文件中的数据

kkkwkp 2011-04-14 05:17:59
如有2文件,一个是AddressBook.db 保存了联系人的姓名和电话号码等信息
另一个sms.db,保存了短信发送时间,内容和电话号码.
C#如何读取完整的短信内容和联系人姓名
在sqlite工具里是没有问题的
因为可以attach database命令来进行多个数据库的组合查询
可以.net的System.Data.SQLite组件
貌似不支持attach database命令.
使用database is not open错误.怎么办??
...全文
445 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kkkwkp 2011-11-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 j1988j 的回复:]
联系人和号码表,怎么关联的啊,我怎么没找到关系字段呢
[/Quote]
你做什么
j1988j 2011-09-02
  • 打赏
  • 举报
回复
联系人和号码表,怎么关联的啊,我怎么没找到关系字段呢
kkkwkp 2011-04-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wwwwa 的回复:]
conn没有OPEN ,示例
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");

cnn.Open();

cmd = new SQLiteCommand("ATTACH DATABASE 'c:\\pwd.db3' AS [Protected] KEY 'mypassword'", cnn)……
[/Quote]

居然忘记open了,结贴.
WWWWA 2011-04-15
  • 打赏
  • 举报
回复
conn没有OPEN ,示例
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");

cnn.Open();

cmd = new SQLiteCommand("ATTACH DATABASE 'c:\\pwd.db3' AS [Protected] KEY 'mypassword'", cnn);

cmd.ExecuteNonQuery();
kkkwkp 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 acmain_chm 的回复:]
AddressBook.sqlitedb' 这个文件在哪? 加上全路径名。
[/Quote]
 using (SQLiteConnection conn = new SQLiteConnection("Data Source=sms.db"))
{
string fileName = @"D:\测试\AppleSmsDemo\AppleSmsDemo\AddressBook.sqlitedb";
SQLiteCommand cmd = new SQLiteCommand("attach database '" + fileName + "' as newdb", conn);
cmd.ExecuteNonQuery();
}

还是一样的错误
ACMAIN_CHM 2011-04-15
  • 打赏
  • 举报
回复
AddressBook.sqlitedb' 这个文件在哪? 加上全路径名。
kkkwkp 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wwwwa 的回复:]
提示什么
AddressBook.sqlited:是另1个DB的名字?有无访问目录权限
[/Quote]

有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.InvalidOperationException: Database is not open
在 System.Data.SQLite.SQLiteCommand.InitializeForReader()
在 System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
在 AppleSmsDemo.Form1.btnShowAll_Click(Object sender, EventArgs e) 位置 D:\测试\AppleSmsDemo\AppleSmsDemo\Form1.cs:行号 60
在 System.Windows.Forms.Control.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
在 System.Windows.Forms.Button.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** 已加载的程序集 **************
WWWWA 2011-04-15
  • 打赏
  • 举报
回复
提示什么
AddressBook.sqlited:是另1个DB的名字?有无访问目录权限
kkkwkp 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 acmain_chm 的回复:]
引用可以.net的System.Data.SQLite组件
貌似不支持attach database命令.应该可以啊,你的代码是什么?
[/Quote]


using (SQLiteConnection conn = new SQLiteConnection("Data Source=sms.db"))
{
SQLiteCommand cmd = new SQLiteCommand("attach database 'AddressBook.sqlitedb' as newdb", conn);
cmd.ExecuteNonQuery();
}
ACMAIN_CHM 2011-04-14
  • 打赏
  • 举报
回复
[Quote]可以.net的System.Data.SQLite组件
貌似不支持attach database命令.[/Quote]应该可以啊,你的代码是什么?
WWWWA 2011-04-14
  • 打赏
  • 举报
回复
用两个连接,两个记录集不行吗?
WWWWA 2011-04-14
  • 打赏
  • 举报
回复
用两个连接,两个记录集不行吗?

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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