废弃sqlite代码,备查
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
using TrustDevKit.Accident_WebService;
using TrustDevKit.localhost;
using TrustDevKit.Misc;
using System.Windows;
using System.Data.SQLite;
using System.Data;
using System.Data.Common;
using System.IO;
using System.Configuration;
using System; namespace TrustDevKit
{
namespace Accident
{
public partial class DataService
{
/// <summary>
/// 更新本地字典、文书模板库
/// </summary>
/// <returns>返回更新表数,失败出错返回-1</returns>
public static int Upate_Code_TemplateDB()
{
int gxs = -;
try
{
using (SQLiteConnection connection = new SQLiteConnection(SQLiteConnectionString_Code_TemplateDB))
{
connection.Open();
SQLiteCommand command = new SQLiteCommand(connection); #region 检查更新记录 string sql = "create table if not exists Update_Info(gxxm varchar2(64),gxsj date);";
command.CommandText = sql;
command.ExecuteNonQuery(); sql = "select gxsj from Update_Info where gxxm='Code_TemplateDB';";
command.CommandText = sql;
var result = command.ExecuteScalar();
DateTime last_update = new DateTime(); ;
if (result == null)
{
sql = "insert into update_info (gxxm,gxsj) values ('Code_TemplateDB',datetime('2001-01-01'));";
command.CommandText = sql;
command.ExecuteNonQuery();
}
else
{
last_update = (DateTime)result;
}
gxs++; //查找最近更新的表,以服务器更新时间与config文件记录做对比
DataTable table_updateinfo = taps_WebService.Get_UpdateInfo(); //服务器更新信息表
bool frm_codetype_updated = (DateTime)table_updateinfo.Select("DM='Frm_Code'")[]["GXSJ"] > last_update;
bool frm_code_updated = (DateTime)table_updateinfo.Select("DM='Taps_CodeType'")[]["GXSJ"] > last_update;
bool taps_codetype_updated = (DateTime)table_updateinfo.Select("DM='Taps_Code'")[]["GXSJ"] > last_update;
bool taps_code_updated = (DateTime)table_updateinfo.Select("DM='Taps_Code'")[]["GXSJ"] > last_update;
bool doctemplatetype_updated = (DateTime)table_updateinfo.Select("DM='Taps_DocTemplateType'")[]["GXSJ"] > last_update;
bool doctemplate_updated = (DateTime)table_updateinfo.Select("DM='Taps_DocTemplate'")[]["GXSJ"] > last_update;
#endregion //开始事务
using (DbTransaction transaction = connection.BeginTransaction())
{
try
{
#region 更新Frm_CodeType表
if (frm_code_updated)
{
string drop_From_CodeType = "drop table if exists Frm_codeType;";
string create_Frm_CodeType = " CREATE TABLE if not exists FRM_CODETYPE( xtlb VARCHAR2(2) not null, dmlb VARCHAR2(6) not null, lbsm VARCHAR2(256) not null, dmcd NUMBER(2), lbsx CHAR(1),"
+ " dmsx NUMBER(4), bz VARCHAR2(256), jznc CHAR(1), dmlx CHAR(1));";
string create_Frm_CodeType_Idx = "CREATE UNIQUE INDEX if not exists Frm_CodeType_Idx on Frm_CodeType (XTLB,DMLB);";
command.CommandText = drop_From_CodeType + create_Frm_CodeType + create_Frm_CodeType_Idx;
command.ExecuteNonQuery(); DataTable frmcodetype = DataService.taps_WebService.Get_CodeTable_by_name("Frm_CodeType");
foreach (var item in frmcodetype.Rows)
{
DataRow dr = item as DataRow;
sql = "INSERT INTO FRM_CODETYPE(xtlb,dmlb,lbsm,dmcd,lbsx,dmsx,bz,jznc,dmlx)values(@xtlb,@dmlb,@lbsm,@dmcd,@lbsx,@dmsx,@bz,@jznc,@dmlx)"; SQLiteParameter[] parameters = new SQLiteParameter[]{
new SQLiteParameter("@xtlb",dr["XTLB"]),
new SQLiteParameter("@dmlb",dr["DMLB"]),
new SQLiteParameter("@lbsm",dr["LBSM"]),
new SQLiteParameter("@dmcd",dr["DMCD"]),
new SQLiteParameter("@lbsx",dr["LBSX"]),
new SQLiteParameter("@dmsx",dr["DMSX"]) ,
new SQLiteParameter("@bz",dr["BZ"]),
new SQLiteParameter("@jznc",dr["JZNC"]),
new SQLiteParameter("@dmlx",dr["DMLX"])
};
command.CommandText = sql;
command.Parameters.AddRange(parameters);
command.ExecuteNonQuery();
}
gxs++;
}
#endregion #region 更新Frm_Code
if (frm_codetype_updated)
{
string drop_From_Code = "drop table if exists Frm_code;";
string create_Frm_Code = " CREATE TABLE if not exists FRM_CODE( xtlb CHAR(2) not null, dmlb VARCHAR2(6) not null, dmz VARCHAR2(30) not null, "
+ "dmsm1 VARCHAR2(256) not null, dmsm2 VARCHAR2(256), dmsm3 VARCHAR2(256), dmsm4 VARCHAR2(256), dmsx CHAR(1) default 0, sxh NUMBER(4), ywdx VARCHAR2(128), zt CHAR(1) default 1);";
string create_Frm_Code_Idx = "CREATE UNIQUE INDEX if not exists Frm_Code_Idx on Frm_Code (XTLB,DMLB,DMZ);";
command.CommandText = drop_From_Code + create_Frm_Code + create_Frm_Code_Idx;
command.ExecuteNonQuery(); DataTable frmcode = DataService.taps_WebService.Get_CodeTable_by_name("Frm_Code");
foreach (var item in frmcode.Rows)
{
DataRow dr = item as DataRow;
sql = "INSERT INTO FRM_CODE(xtlb,dmlb,dmz,dmsm1,dmsm2,dmsm3,dmsm4,dmsx,sxh,ywdx,zt)values(@xtlb,@dmlb,@dmz,@dmsm1,@dmsm2,@dmsm3,@dmsm4,@dmsx,@sxh,@ywdx,@zt)"; SQLiteParameter[] parameters = new SQLiteParameter[]{
new SQLiteParameter("@xtlb",dr["XTLB"]),
new SQLiteParameter("@dmlb",dr["DMLB"]),
new SQLiteParameter("@dmz",dr["DMZ"]),
new SQLiteParameter("@dmsm1",dr["DMSM1"]),
new SQLiteParameter("@dmsm2",dr["DMSM2"]),
new SQLiteParameter("@dmsm3",dr["DMSM3"]) ,
new SQLiteParameter("@dmsm4",dr["DMSM4"]),
new SQLiteParameter("@dmsx",dr["DMSX"]),
new SQLiteParameter("@sxh",dr["SXH"]),
new SQLiteParameter("@ywdx",dr["YWDX"]),
new SQLiteParameter("@zt",dr["ZT"])
};
command.CommandText = sql;
command.Parameters.AddRange(parameters);
command.ExecuteNonQuery();
}
gxs++;
}
#endregion #region 更新Taps_CodeType
if (taps_codetype_updated)
{
string drop_Taps_CodeType = "drop table if exists Taps_codeType;";
string create_TAPS_CODETYPE = "CREATE TABLE if not exists TAPS_CODETYPE( dmlb VARCHAR2(6) not null, lbsm VARCHAR2(256) not null, dmcd NUMBER(2), "
+ "lbsx CHAR(1), dmsx NUMBER(4), bz VARCHAR2(256), jznc CHAR(1), dmlx CHAR(1));";
string create_Taps_CodeType_Idx = "CREATE UNIQUE INDEX if not exists Taps_CodeType_Idx on Taps_CodeType (DMLB);";
command.CommandText = drop_Taps_CodeType + create_TAPS_CODETYPE + create_Taps_CodeType_Idx;
command.ExecuteNonQuery(); DataTable tapscodetype = DataService.taps_WebService.Get_CodeTable_by_name("Taps_CodeType");
foreach (var item in tapscodetype.Rows)
{
DataRow dr = item as DataRow;
sql = "INSERT INTO Taps_CODETYPE(dmlb,lbsm,dmcd,lbsx,dmsx,bz,jznc,dmlx)values(@dmlb,@lbsm,@dmcd,@lbsx,@dmsx,@bz,@jznc,@dmlx)"; SQLiteParameter[] parameters = new SQLiteParameter[]{
new SQLiteParameter("@dmlb",dr["DMLB"]),
new SQLiteParameter("@lbsm",dr["LBSM"]),
new SQLiteParameter("@dmcd",dr["DMCD"]),
new SQLiteParameter("@lbsx",dr["LBSX"]),
new SQLiteParameter("@dmsx",dr["DMSX"]) ,
new SQLiteParameter("@bz",dr["BZ"]),
new SQLiteParameter("@jznc",dr["JZNC"]),
new SQLiteParameter("@dmlx",dr["DMLX"])
};
command = new SQLiteCommand(connection);
command.CommandText = sql;
command.Parameters.AddRange(parameters);
command.ExecuteNonQuery();
}
gxs++;
}
#endregion #region 更新Taps_Code
if (taps_code_updated)
{
string drop_Taps_Code = "drop table if exists Taps_code;";
string create_TAPS_CODE = "CREATE TABLE if not exists TAPS_CODE( dmlb VARCHAR2(6) not null, dmz VARCHAR2(30) not null, dmsm1 VARCHAR2(256) not null, dmsm2 VARCHAR2(256), dmsm3 VARCHAR2(256),"
+ " dmsm4 VARCHAR2(256), dmsx CHAR(1) default 0, sxh NUMBER(4), ywdx VARCHAR2(128), zt CHAR(1) default 1);";
string create_Taps_Code_Idx = "CREATE UNIQUE INDEX if not exists Taps_Code_Idx on Taps_Code (DMLB,DMZ);";
command.CommandText = drop_Taps_Code + create_TAPS_CODE + create_Taps_Code_Idx;
command.ExecuteNonQuery(); DataTable tapscode = DataService.taps_WebService.Get_CodeTable_by_name("Taps_Code");
foreach (var item in tapscode.Rows)
{
DataRow dr = item as DataRow;
sql = "INSERT INTO Taps_CODE(dmlb,dmz,dmsm1,dmsm2,dmsm3,dmsm4,dmsx,sxh,ywdx,zt)values(@dmlb,@dmz,@dmsm1,@dmsm2,@dmsm3,@dmsm4,@dmsx,@sxh,@ywdx,@zt)"; SQLiteParameter[] parameters = new SQLiteParameter[]{
new SQLiteParameter("@dmlb",dr["DMLB"]),
new SQLiteParameter("@dmz",dr["DMZ"]),
new SQLiteParameter("@dmsm1",dr["DMSM1"]),
new SQLiteParameter("@dmsm2",dr["DMSM2"]),
new SQLiteParameter("@dmsm3",dr["DMSM3"]) ,
new SQLiteParameter("@dmsm4",dr["DMSM4"]),
new SQLiteParameter("@dmsx",dr["DMSX"]),
new SQLiteParameter("@sxh",dr["SXH"]),
new SQLiteParameter("@ywdx",dr["YWDX"]),
new SQLiteParameter("@zt",dr["ZT"])
};
command = new SQLiteCommand(connection);
command.CommandText = sql;
command.Parameters.AddRange(parameters);
command.ExecuteNonQuery();
}
gxs++;
}
#endregion #region 更新DocTemplateType
if (doctemplatetype_updated)
{
string drop_DocTemplateType = "drop table if exists DocTemplateType;";
string create_DocTemplateType = " CREATE TABLE if not exists DocTemplateType(XTLB varchar(2),MBLB varchar(6),LBSM varchar(256),MBSX int(4),BZ varchar(256));";
string create_DocTemplateType_Idx = "CREATE UNIQUE INDEX if not exists DocTemplateType_Idx on DocTemplateType (XTLB,MBLB);";
command.CommandText = drop_DocTemplateType + create_DocTemplateType + create_DocTemplateType_Idx;
command.ExecuteNonQuery();
DataTable doctemplatetype = DataService.taps_WebService.Get_CodeTable_by_name("Taps_DocTemplateType");
foreach (var item in doctemplatetype.Rows)
{
DataRow dr = item as DataRow;
sql = "INSERT INTO DocTemplateType(xtlb,mblb,lbsm,mbsx,bz)values(@xtlb,@mblb,@lbsm,@mbsx,@bz)"; SQLiteParameter[] parameters = new SQLiteParameter[]{
new SQLiteParameter("@xtlb",dr["XTLB"]),
new SQLiteParameter("@mblb",dr["MBLB"]),
new SQLiteParameter("@lbsm",dr["LBSM"]),
new SQLiteParameter("@mbsx",dr["MBSX"]),
new SQLiteParameter("@bz",dr["BZ"])
};
command = new SQLiteCommand(connection);
command.CommandText = sql;
command.Parameters.AddRange(parameters);
command.ExecuteNonQuery();
}
gxs++;
}
#endregion #region 更新DocTemplate
if (doctemplate_updated)
{
string drop_DocTemplate = "drop table if exists DocTemplate;";
string create_DocTemplate = "CREATE TABLE if not exists DocTemplate( xtlb CHAR(2) not null, mblb VARCHAR2(6) not null, mbdm VARCHAR2(30) not null, "
+ "mbmc VARCHAR2(256) not null, sxh NUMBER(4), zt CHAR(1) default 1, gxsj datatime, mb Blob);";
string create_DocTemplate_Idx = "CREATE UNIQUE INDEX if not exists DocTemplate_Idx on DocTemplate (XTLB,MBLB,MBDM);";
command.CommandText = drop_DocTemplate + create_DocTemplate + create_DocTemplate_Idx;
command.ExecuteNonQuery();
DataTable doctemplate = DataService.taps_WebService.Get_CodeTable_by_name("Taps_DocTemplate");
foreach (var item in doctemplate.Rows)
{
DataRow dr = item as DataRow;
string mb_file = dr["XTLB"] + "_" + dr["MBLB"] + "_" + dr["MBDM"];
byte[] mb_buffer = DataService.taps_WebService.Get_DocTemplate(mb_file); sql = "INSERT INTO DocTemplate(xtlb,mblb,mbdm,mbmc,sxh,zt,gxsj,mb)values(@xtlb,@mblb,@mbdm,@mbmc,@sxh,@zt,@gxsj,@mb)"; SQLiteParameter[] parameters = new SQLiteParameter[]{
new SQLiteParameter("@xtlb",dr["XTLB"]),
new SQLiteParameter("@mblb",dr["MBLB"]),
new SQLiteParameter("@mbdm",dr["MBDM"]),
new SQLiteParameter("@mbmc",dr["MBMC"]),
new SQLiteParameter("@sxh",dr["SXH"]),
new SQLiteParameter("@zt",dr["ZT"]),
new SQLiteParameter("@gxsj",dr["GXSJ"]) ,
new SQLiteParameter("@mb",mb_buffer) };
command.CommandText = sql;
command.Parameters.AddRange(parameters);
command.ExecuteNonQuery();
}
gxs++;
}
#endregion #region 记录本次更新时间
if (gxs > )
{
sql = "update update_info set gxsj=datetime('" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');";
command.CommandText = sql;
command.ExecuteNonQuery();
}
#endregion transaction.Commit(); //提交事务,写入数据文件 }
catch (Exception)
{
transaction.Rollback(); //出错回滚
return -;
}
}
connection.Close();
}
return gxs;
}
catch
{
return -;
}
} }
}
}
废弃sqlite代码,备查的更多相关文章
- SQLite源程序分析之sqlite3.c
/****************************************************************************** ** This file is an a ...
- SQLite XXTea加密学习
这几天优化数据库读写,移植了xxtea加密到最新的数据库sqlite 3.12.2里,一些好文章放在这里.移植后,数据库读写性能异常优秀! 这几天又发现,数据库还是发生了无法写入情况,数据库崩溃掉了. ...
- SQLite Design and Concepts
API 分为两大类 core API. 基本的SQL操作 extension API. 创建自定义的SQL操作. 基本数据结构 需要了解的组成部分有连接.statments.B树.pager. 为了写 ...
- SQLite剖析之体系结构
1.通过官方的SQLite架构文档,理清大体的系统层次:Architecture of SQLite 2.阅读SQLite Documentation中Technical/Design Documen ...
- Android SQLite (三 ) 全面详解(一)
官网 SQLite是一款轻型的数据库,是关系型数据库(RDBMS)管理系统,它包含在一个相对小的C库中.目前在很多嵌入式产品中使用了它,它占用资源非常 的低,在嵌入式设备中,可能只需要几百K的内存就够 ...
- iOS代码实践总结
转载地址:http://mobile.51cto.com/hot-492236.htm 最近一个月除了专门抽时间和精力重构之外,还有就是遇到需要添加功能的模块的时候,由于项目中的代码历史因素比较多,第 ...
- Base-Android快速开发框架(三)--数据存储之SQLite
SQLite,是一款轻量级的关系型数据库,Android原生集成的一个数据库.具有轻量级.独立性.隔离性.安全性等特点.是Android做数据存储的必备知识之一. 在实际的项目中,我们常用于一些对象的 ...
- Android中使用sqlite笔记
1.实现SQLiteHelper来在android中使用SQLite.代码如下,来自android官网. public class FeedReaderDbHelper extends SQLiteO ...
- SQLite 使用教程2 语法
http://www.runoob.com/sqlite/sqlite-syntax.html SQLite 语法 SQLite 是遵循一套独特的称为语法的规则和准则.本教程列出了所有基本的 SQLi ...
随机推荐
- attention发展历史及其相应论文
这个论文讲述了attention机制的发展历史以及在发展过程的变体-注意力机制(Attention Mechanism)在自然语言处理中的应用 上面那个论文提到attention在CNN中应用,有一个 ...
- 12-optionBinding
1-创建一个空的dotnet mvc网站 2- 创建appsettings.json文件, 这文件会默认被绑定 { "ClassNo": "1", " ...
- Git-补丁文件交互
版本库间的交互是通过git push和/或git pull命令实现的,这是Git最主要的交互模式,但并不是全部.使用补丁文件是另外一种交互方式,适用于参与者众多的大型项目进行分布式开发. 创建补丁 G ...
- Hive数据导入导出的n种方式
Tutorial-LoadingData Hive加载数据的6种方式 #格式 load data [local] inpath '/op/datas/xxx.txt' [overwrite] into ...
- PHP代码审计2-常用超全局变量,常用命令注入,常用XSS漏洞审计,文件包含
超全局变量 $GLOBALS — 引用全局作用域中可用的全部变量$_SERVER — 服务器和执行环境信息$_GET — HTTP GET 变量$_POST — HTTP POST 变量$_FILES ...
- 13 KNN背景分割器
传统的前景背景分割方法有GrabCut,分水岭算法,当然也包括一些阈值分割的算法.但是这些算法在应用中往往显得鲁棒性较弱,达不到一个好的分割效果. 现代的背景分割算法融入了机器学习的一些方法来提高分类 ...
- HTML5技巧
HTML5技巧 HTML5 技巧一:当今科技发展的速度真惊人,稍不留神,就可能无法跟上它的步伐.新一代的HTML-HTML5的发展也不停的带给我们新的惊喜,我们将通过这篇文章向大家介绍一些HTML ...
- Windows环境下,python webdriver环境搭建
最近刚开始学习selenium,这是我从虫师的<selenium2自动测试实战--基于Python语言>这本书上学到搭建环境的步骤,里面有加上我的一些总结,希望对大家有所帮助! 准备工 ...
- django之HTTPResponse和JsonResponse详解
HttpResponse对象 Django服务器接收到客户端发送过来的请求后,会将提交上来的这些数据封装成一个HttpRequest对象传给视图函数.那么视图函数在处理完相关的逻辑后,也需要返回一个响 ...
- PPC Windows Mobile判断网络(gprs)连接与否代码
转载 在PPC的开发中有时需要判断网络什么时候连接,什么时候断开,并且做出相应的处理.比如说TimeSyncPPC程序,就需要在网络连接之后得到消息然后去下载时间同步信息,因此就必须要一种方法让Tim ...