1.     DB文件的导出

private void InsertDB(DataTable dt, string FileName){try{string userIds = string.Empty;string[] str = ccbUserName.Text.Split(',');for (int s = 0; s < str.Length; s++){userIds += GetUserId(str[s].Trim()) + "',";}userIds = userIds.Substring(0, userIds.Length - 1);if (string.IsNullOrEmpty(userIds)){return;}SqliteBaseClass sqlite = new SqliteBaseClass(FileName);try{sqlite.creatDataBase();//创建数据库sqlite.SqliteConn = new System.Data.SQLite.SQLiteConnection(sqlite.StrConntion);sqlite.SqliteConn.Open();//创建表sqlite.creatDataBaseTable("CREATE TABLE GpsInfo ([id] CHAR(32),[gpsTime] DATETIME,[Lon] DOUBLE,[Lat] DOUBLE,[speed] DOUBLE,[direction] DOUBLE,[seaLevel] DOUBLE,[uploaded] INT,[TotalLiCheng] nvarchar(50))");sqlite.creatDataBaseTable("CREATE TABLE SysParamters ([param] NVARCHAR(50) NOT NULL,[pValue] NVARCHAR(150))");sqlite.Strtablename = "SysParamters";//插入gps数据sqlite.Strtablename = "GpsInfo";string fields = "id,gpsTime,lon,lat,speed,direction,sealevel,TotalLiCheng";//字段列表string values = string.Empty;//数据列表uiProgressBar1.Maximum = dt.Rows.Count;for (int i = 0; i < dt.Rows.Count; i++){//把数组数据转换为,分割string[] strs = dt.Rows[i].ItemArray.Select(w => w.ToString()).ToArray<string>();//时间类型存入db时要转换一下,不然读取时报错DateTime date = Convert.ToDateTime(dt.Rows[i]["时间"]);values = "'" + strs[0] + "','" + date.ToString("s") + "','" + string.Join("','", strs, 3, 6) + "'";sqlite.insertFieldData(fields, values);//插入数据uiProgressBar1.Value = i;System.Windows.Forms.Application.DoEvents();}}catch (Exception ex){throw new Exception(ex.Message);}finally{if (sqlite!=null&&sqlite.SqliteConn!=null){sqlite.SqliteConn.Close();}}MsgBoxShow.ShowInformation("导出成功!");}catch (Exception ex){MsgBoxShow.ShowWarning("导出错误:" + ex.Message);}}

2.     DB文件的导入

  // 获取DB数据

        private void GetDBData(object sender, WaitWindowEventArgs e){try{if (e.Arguments.Count > 0){//创建sqlite操作SqliteBaseClass sqlite = new SqliteBaseClass(e.Arguments[0].ToString());sqlite.SqliteConn = new System.Data.SQLite.SQLiteConnection(sqlite.StrConntion);sqlite.SqliteConn.Open();//查询格式是否正确string strgps = "SELECT id,gpsTime,Lon,Lat,speed,direction,TotalLiCheng,seaLevel FROM GpsInfo Limit 1";string strsys = "SELECT param,pValue FROM SysParamters";DataSet gpsSet = sqlite.getDataSetQueryContSql(strgps);DataSet SysSet = sqlite.getDataSetQueryContSql(strsys);if (gpsSet == null || SysSet == null || gpsSet.Tables[0].Rows.Count <= 0){MsgBoxShow.ShowInformation("DB文件格式错误或者不存在数据");return;}//获取数据string strGpsInfo = "SELECT id as 巡护人员,gpsTime as 时间,Lon as 经度,Lat as 纬度,speed as 速度,direction as 方向,"+ " TotalLiCheng as 总里程,seaLevel as 海拔 FROM GpsInfo  ORDER BY gpsTime";DataTable GpsInfoDT = sqlite.getDataSetQueryContSql(strGpsInfo).Tables[0];//计算总里程e.Result = CalculateTotalLiCheng(GpsInfoDT);}}catch (Exception ex){MsgBoxShow.ShowWarning("打开DB文件错误:" + ex.Message);}}

转载于:https://www.cnblogs.com/lailewei/p/4072963.html

C# 实现DB文件的导入导出功能相关推荐

  1. laravel5 Excel Excel/CSV 文件导入导出功能

    在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能 Posted on 2015年11月17日 by  学院君   注意版本2.1 1.简介 Lar ...

  2. 十分钟看会laravel导入导出功能,就这么简单

    laravel5扩展包excel导入导出功能 一, 简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的 ...

  3. 让模块支持“导入”“导出”功能

    让模块支持"导入""导出"功能 DNN模块可以支持导入导出功能,通过将模块内容导入到XML文件可以便于模块内容备份和转移,也可将模块内容事先以XML格式保存通过 ...

  4. easyexcel多个sheet导入_Java中Easypoi实现excel多sheet表导入导出功能

    Easypoi简化了开发中对文档的导入导出实现,并不像poi那样都要写大段工具类来搞定文档的读写. 第一步引入Easypoi依赖 cn.afterturn easypoi-spring-boot-st ...

  5. Java:实现文件批量导入导出实践(兼容xls,xlsx)

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:小卖铺的老爷爷 cnblogs.com/laoyeye/p/6938889.html ...

  6. 安全组规则跨region导入导出功能介绍

    功能介绍 您可以在控制台clone一个安全组,进而快速创建安全组和添加安全组规则,但这个功能有个限制是无法跨region使用.为此ECS控制台开发了安全组规则导入导出功能,使用这个功能您可以把一个安全 ...

  7. SpringBoot 项目实现 Excel 导入导出功能

    背景 Excel 导入与导出是项目中经常用到的功能,在 Java 中常用 poi 实现 Excel 的导入与导出.由于 poi 占用内存较大,在高并发下很容易发生 OOM 或者频繁 fullgc,阿里 ...

  8. SpringBoot中使用Easyexcel实现Excel导入导出功能(三)

    导出的数据包含有图片 导出excel表格的数据包含有图片,这种场景比较少.通Easyexcel实现这样的需求,我认为最简便的方法就是使用前面提到的自定义转换器(com.alibaba.excel.co ...

  9. Java实现文件批量导入导出实例(兼容xls,xlsx)

    <link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON"> &l ...

最新文章

  1. python封装方法有几种_Python中的封装有什么作用?
  2. Makefile中的变量和shell变量
  3. 关于用批处理写ftp上传文件
  4. 本地更新github项目_GitHub开源项目2019-03-29更新精选
  5. html5和极速模式,浅谈360浏览器6.0版本极速模式与兼容模式_蓝戒的博客
  6. Oracle 10g新特性
  7. 1971旗舰cpu intel_Intel 酷睿i7 9700F搭配影驰GeForce RTX 2060大将
  8. 高质量响应式的 HTML/CSS 网站模板
  9. matlab晶闸管整流电路,整流电路MATLAB仿真实验
  10. 三星手机PIN码忘记锁机解决方法
  11. Sina weibo新浪微博 API返回信息详解
  12. OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
  13. Are These Birds?
  14. redhat linux 查看内存大小,CentOS (RHEL) 系统管理中的查看内存插槽数、最大容量和频率...
  15. Java可视化动态画图
  16. python爬取豆瓣电影信息_Python|简单爬取豆瓣网电影信息
  17. 计算机二级考试手机app,计算机二级考试
  18. 2021年安全员-C证考试题库及安全员-C证免费试题
  19. Tomcat 部署 war 包
  20. 《平凡的世界》《白鹿原》《废都》读后感

热门文章

  1. ASP超级链接和HTML函数正则表达式 修正版
  2. 最近看的篇文章,年过三十,感触很深
  3. mcgs组态软件中字体如果从左到右变化_昆仑通态专题(十一):MCGS嵌入式组态软件的脚本程序...
  4. POJ1094查分约束,判断关系是否唯一
  5. The 2014 ACM-ICPC Asia Mudanjiang Regional First Round A
  6. 【RecyclerView】 八、RecyclerView.ItemDecoration 条目装饰 ( onDraw 和 onDrawOver 绘制要点 )
  7. 【组合数学】组合恒等式 ( 变下项求和 3 组合恒等式 | 变下项求和 4 组合恒等式 | 二项式定理 + 求导 证明组合恒等式 | 使用已知组合恒等式证明组合恒等式 )
  8. 【Android FFMPEG 开发】Android Studio 中配置 FFMPEG 库注意事项 ( 静态库 链接 libz.so 库 | 导入 FFMPEG 函数库顺序 )
  9. 【Android 高性能音频】AAudio 音频流 数据回调细节 ( 数据回调函数优先级 | 数据回调函数 | 采样率 | 采样数 | 缓冲区调整 | 线程不安全 )
  10. 转 推荐 33 个 IDEA 最牛配置,写代码太爽了!