在学习sqlite的过程中,发现它的dll是区分32位和64位的,起初觉得很恼火,但是仔细看了下,

发现让程序自行选择dll其实也不是一件很麻烦的事情,如下:

1>创建一个sqlite数据

2>创建一个工程

3>新建一个类

  1. class Entrance : Application
  2. {
  3. [STAThread]
  4. static void Main()
  5. {
  6. string dll32 = @".\SQLitedll\System.Data.SQLite32.dll";
  7. string dll64 = @".\SQLitedll\System.Data.SQLite64.dll";
  8. string dllpath = @".\System.Data.SQLite.dll";
  9.  
  10. if (IntPtr.Size == )
  11. {
  12. using (FileStream fs=File.Create(dllpath)){}
  13. File.Copy(dll64,dllpath,true);
  14. }
  15. else if(IntPtr.Size == )
  16. {
  17. using (FileStream fs=File.Create(dllpath)){}
  18. File.Copy(dll32,dllpath,true);
  19. }
  20. else
  21. {MessageBox.Show("ERROR!");}
  22. //start up the main window
  23. Application app = new Application();
  24. MainWindow window = new MainWindow();
  25. app.Run(window);
  26. }
  27. }

4>添加按钮响应事件

  1. private void Button_Click(object sender, RoutedEventArgs e)
  2. {
  3. string strconn = @"Data Source=.\student.db;Version=3";
  4. string strcmd = "select * from stu";
  5. SQLiteConnection con = new SQLiteConnection(strconn);
  6. try
  7. {
  8. con.Open();
  9. }
  10. catch (Exception ex)
  11. { MessageBox.Show(ex.ToString()); }
  12.  
  13. SQLiteCommand cmd = new SQLiteCommand(strcmd, con);
  14.  
  15. cmd.ExecuteNonQuery();
  16.  
  17. SQLiteDataAdapter dataApp = new SQLiteDataAdapter(cmd);
  18. DataTable dt = new DataTable("a");
  19. dataApp.Fill(dt);
  20. dataGrid1.ItemsSource = dt.DefaultView;
  21. dataApp.Update(dt);
  22. con.Close();
  23. }
  24. }

5>最终效果(左边是win8 64位测试效果,右边是xp 32位测试效果)[注:新版的System.Data.SQLite.dll可能需要msvcr100.dll的支持,在测试

的机器上如果没有这个dll会莫名地崩溃,还catch不到异常,具体可能跟版本有关,可以用depends来查看一下]

WPF 自动选择dll,以SQLite为例的更多相关文章

  1. WPF程序将DLL嵌入到EXE的两种方法

    WPF程序将DLL嵌入到EXE的两种方法 这一篇可以看作是<Visual Studio 版本转换工具WPF版开源了>的续,关于<Visual Studio 版本转换工具WPF版开源了 ...

  2. WPF中选择文件和选择文件夹的方法

    最近从winform转WPF,遇到了各种各样的问题.然而网上的关于WPF的资料少之又少,甚至连基本的文件选择操作,百度搜索的首页都没有一个比较好的方法.所以,踩了几个坑之后,我把我得到的方法分享给大家 ...

  3. WPF: 自动设置Owner的ShowDialog 适用于MVVM

    原文:WPF: 自动设置Owner的ShowDialog 适用于MVVM 原文地址:http://www.mgenware.com/blog/?p=339 WPF中的Windows的ShowDialo ...

  4. Ubuntu 自动选择最快的镜像源

    通常情况下阿里云的镜像源(http://mirrors.aliyun.com/ubuntu/)用得比较多 但是也不排除因网络环境导致的某个镜像源访问慢问题 那么就可以配置为自动选择镜像源进行更新 修改 ...

  5. Xcode自动选择证书

    从xcode3时代习惯了手动选择证书,即 Provisioning Profile和 Code Signing Identify. 而随着团队扩大,应用量增多,需要管理的证书也越来越多,每次从长长的l ...

  6. 自动选择最佳特征进行分类-SVM (Halcon)

    HALCON12里的example,classify_pills_auto_select_features.hdev. 执行流程: 1.选取相关特征(本例选取color和region组的所有特征)(本 ...

  7. WPF使用DynamicDataDisplay.dll显示CPU及内存使用曲线

    原文:WPF使用DynamicDataDisplay.dll显示CPU及内存使用曲线 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wangshub ...

  8. 深度学习框架如何自动选择最快的算法?Fast Run 让你收获最好的性能!

    作者:王博文 | 旷视 MegEngine 架构师 一.背景 对于深度学习框架来说,网络的训练/推理时间是用户非常看中的.在实际生产条件下,用户设计的 NN 网络是千差万别,即使是同一类数学计算,参数 ...

  9. js单击自动选择文本

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. Datatable 省略显示列中内容,当鼠标放在内容上,悬浮显示全部内容

    第一种方法是网上看到的,没成功,贴出来参考一下 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  2. python 实现无序列表

    # -*- coding:utf-8 -*- class Node: def __init__(self, initdata): self.data = initdata self.next = No ...

  3. 三十五、MySQL 运算符

    MySQL 运算符 本章节我们主要介绍 MySQL 的运算符及运算符的优先级. MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 算术运算符 MySQL 支持的算术运算 ...

  4. 阻止touchslider事件冒泡,防止左右滑动时出发全局滑动事件

    最近适用mui开发一个项目,全局有个侧滑菜单offCanvasSideScroll,首页用了一个touchslider插件来实现行的左右滚动 touchslider的当滚动方向与侧滑菜单滚动方向一致时 ...

  5. json数据格式及json格式化工具推荐

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据. 易于人阅读和编写,同时也易于机器解析和生成. XML也 ...

  6. Python基础学习总结__Day1

    一.Python是一门什么类型语言 1.解释型:一边编译一边执行,劣势是运行速度慢,但通过运用PyPy交互解释器(JIT技术)会让python程序执行速度快很多.优势是可移植性强. 2.强类型:即类型 ...

  7. 数据分析处理库Pandas——概述

    导入Pandas库 创建DataFrame结构 读取.csv文件 titanic_train.csv文件:https://files.cnblogs.com/files/gloria-zhang/ti ...

  8. Centos7(Linux)下安装VMware12

    https://blog.csdn.net/u012605477/article/details/65627234

  9. 使用Hbase快照将数据输出到互联网区测试环境的临时Hbase集群

    通过snapshot对内网测试环境Hbase生产集群的全量数据(包括原始数据和治理后数据)复制到互联网Hbase临时集群.工具及原理: 1)         Hbase自带镜像导出工具(snapsho ...

  10. 12,scrapy框架之post请求

    今日概要 递归爬取解析多页页面数据 scrapy的post请求发送 1.递归爬取解析多页页面数据 - 需求:将糗事百科所有页码的作者和段子内容数据进行爬取切持久化存储 - 需求分析:每一个页面对应一个 ...