SQLite-导出脚本 获得元数据

如何导出/导入SQLite表数据到脚本文件?

关键字:sqlite C# 导出脚本

编程方式导出

命令方式导出

https://blog.csdn.net/u013600225/article/details/53898697

执行“sqlite3.exe”,我们可能用到下面几个命令:
sqlite>.help
可以查看命令的帮助信息

假设我们有一个SQLite数据库文件,名为db.sqlite3,这个数据库中有2个表,分别为tb1和tb2,
我们导出整个数据库到db.SQL文件的方式:
Use “.open FILENAME” to reopen on a persistent database.
sqlite> .open db.sqlite3
sqlite> .output db.SQL
sqlite> .dump
sqlite> .exit

我们导出表tb1到db.SQL文件的方式:
Use “.open FILENAME” to reopen on a persistent database.
sqlite>.open db.sqlite3
sqlite>.output db.SQL
sqlite>.dump tb1
sqlite>.exit

https://blog.csdn.net/sophiemantela/article/details/100772957

https://tableconvert.com/

如何备份还原SQLite数据库?

可使用backup、restore和clone命令备份、恢复和复制SQLite数据库。

例如:

(1)备份数据库

    —通过在命令行窗口下执行sqlite3.exe以重新建立和SQLite的连接。
    sqlite3 test.db 
    sqlite> .backup ‘c:/test.db’
    sqlite> .exit

(2)恢复数据库

    sqlite3 test.db 
    sqlite> .restore ‘c:/test.db’

(3)复制数据库

    sqlite3 test.db 
    sqlite>.clone ‘c:/newtest.db’
    sqlite>.exit

编程实现

https://www.cnblogs.com/yaoxiaping/p/3770036.html

如何在EF中使用SQLite?

https://www.cnblogs.com/sdadx/p/7127098.html

如何读写SQLite-使用dataAdapter反向更新?

https://www.jb51.net/article/87974.htm

如何获取SQLite表的架构-表的字段名和字段类型?

https://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387817.html

https://blog.csdn.net/MyNameIsXiaoLai/article/details/80883171

01—-查询sqlite中所有表

可用如下sql语句。原理是,sqlite中有一个内建表sqlite_master,这个表中存储这所有自建表的表名称等信息。

通过以下语句可查询出某个数据库的所有表名称信息

select name from sqlite_master where type=’table’ order by name;

02—-查询与判断列

通过以下语句可查询出某个表的所有字段信息

PRAGMA table_info([tablename])

比如:我想查看表StudentInfo的所有列信息,可以用下述代码。

PRAGMA table_info(StudentInfo)

Octopus-【思路】-jscode

jscode

            //1.0 思路
            //VH.PutSet(TagFields.PageName, PageName.Index);
            //VContent.Put(TagFields.JsCode, VH.OutString(string.Concat(this.PcMobile, "common/_Self_Js.html"), true));

面临问题:以前的的代码只能放在页面的底部,虽然可以每个页面载入自己的代码,但是代码摆放的位置不够灵活
而且代码没有压缩功能。

还可能由于页面没有载入完全导致js代码执行起来有问题。看了下兰亭的网页,他们把大量的js代码,甚至JQuery库都输出在了页面上

后来想了一下为什么这样做?
可以减少不必要的js额外请求;不会因为库没有下载下来导致一些代码没有执行
实现要求:使用${jscode}标签在页面中的任意位置,输出该页面自定义的js代码,并提供对代码的压缩功能

第一个版本思路
NVelocity有一个助手,在初始化完成之后指定一个模板的名字,就可以输出这个模板的字符串,有了字符串就可以对字符串进行压缩处理
所以尝试了下

#region 代码
            /*VelocityHelper vh = new VelocityHelper();
            string pathTemplate = ConfigHelper.BaseDirectory + "themes\\" + ConfigManager.GetConfig().Theme
                + ConfigManager.GetConfig().PCthemeDir.Replace("/", "\\") + "common\\";
            vh.Init(pathTemplate);
            vh.PutSet(TagFields.PageName, PageName.Index);
            string jsString = vh.OutString("_Self_Js.html");
            VContent.Put("jsstring", ZipHtml.GZipHtml(jsString));*/
            #endregion

第一:每个页面都要编写上面的代码增加了额外的开销
第二:麻烦
第三:手机模板和PC模板各自定义的js代码有可能不一样,所以_Self_Js.html不在同一个目录下,所以不行

第二个版本思路
尝试将VelocityHelper封装到页面的基类中去,变成一个静态的变量,这样不用增加额外的对象开销,而且内部的引擎不用做过多的初始化
在static HttpCustom()中尝试将其初始化,模板路径和HttpCustom路径保持一致,并且只初始化一次
这样在每个页面中 只需要调用就可以生成这个页面的js代码,同时传递了PcMobile目录,就可以为PC和Mobile生成各自的js代码 【比第一版的思路好多了】

VH.OutString(string.Concat(this.PcMobile, "common/vmjs.vm"), true)

坏处:每个页面都需要编写这个代码,代码还得需要编译
每个页面还需要PutSet这个页面的类型,才能动态的加载js代码
不灵活 也比较麻烦

第三版
既然可以在html中调用对象的方法,那么应该讲VH对象添加到数据上下文当中去
在html页面中调用这个方法
同时做进一步的封装string.Concat(this.PcMobile, “common/vmjs.vm”) 封装到 VH的内部处理
将PcMobile 封装成它的一个属性,在HttpCustom识别出访问设备,也就是PcMobile初始化之后
也将VH的PcMobile 初始化,如此一来
在页面中就可以这样调用

    $VH.PutSet("pagename","index")
    $VH.OutString(true)

好处:灵活了许多
pagename 不仅仅是系统中固定的那几个值了,可以自定义
而且可以自定义是否压缩js代码
到此完成!

总结:封装思想  确定需求

X小知识-【Win7】-局域网远程桌面

开启三个服务

Windows Remote Management (WS-Management)
Remote Desktop Service
Remote Desktop Configuration

设置账户密码
一,在“我的电脑”上右键“属性”,找到“远程设置”,在“允许远程协助连接到这台计算机”上打钩。
 
二,然后在“远程桌面”的三个选项中选择“允许任意版本的运行远程桌面的计算机连接到这台机器(较不安全)”。
 
三,点击右下角“选择用户”,出来的对话框里面点击“添加”,然后“选择用户”,在“输入要选择的用户名”中输入你计算机上的一个用户名。然后点击“检查名称”就OK了。

四,关闭Windows防火墙

X小知识-【Win2003】-取消开机Ctrl+Alt+Delete的操作步骤

Win2003 取消开机Ctrl+Alt+Delete的操作步骤
单击“开始→运行”,输入gpedit.msc,打开组策略编辑器。
在左窗口中选择“计算机配置→管理模板→系统”,
在右边窗口双击“显示关闭事件跟踪程序”,在出现的对话框中选择“已禁用”,
然后点击“确定”保存后退出。
以后关机、重启就不再跳出烦人的询问对话框了。

X小知识-【Win2003】-修改administrator

win2003修改默认管理员Administrator用户名的方法  
租用美国服务器的同时,为了加强破解管理员密码的难度,
一般我们会修改默认的3389端口,
同时修改默认管理员账户名Administrator,
之前我们已经介绍过修改3389远程默认端口的方法,

现在介绍win2003修改默认管理员Administrator用户名的方法。

1、开始—运行—输入:gpedit.msc —回车  
2、依此点开,计算机配置 — Windows设置 —安全设置— 本地策略 — 安全选项
3、在右边的地方,拉到最下面,找到重命名管理员帐户,双击  
4、输入你要的用户名,确定,如图我们将管理员账户修改为“管理员”:

X小知识-portable

portable
表示是绿色版本的意思
此处有解释链接
https://www.faststone.org/FSIVDownload.htm
Note:

   exe
      A single executable file that installs the application in your computer. Recommended for most users.

   zip
      A zip (compressed) format of the exe file above. In some networks, downloading exe files is strictly prohibited. If you are using such networks, download the zip file instead. After the download, just unzip it to get the exe file (installer).

   portable
      A zip (compressed) file that includes all the required files to run the application independently from any folder you dump it in. Major advantage is that you can carry it around on a memory stick / USB flash drive, or copy / migrate from PC to PC via simple copying of files. No installation is necessary.

Nodejs-环境配置小计

npm config set prefix "D:\Develop\nodejs\node_global"
npm config set cache "D:\Develop\nodejs\node_cache"

npm config set prefix "C:\Program Files\nodejs\node_global"
npm config set cache "C:\Program Files\nodejs\node_cache"

D:\Develop\nodejs\node_global\node_modules
C:\Program Files\nodejs\node_global\node_modules

D:\Develop\nodejs\node_global

C:\Program Files\nodejs\node_global

C:\Users\Administrator\AppData\Roaming\npm

            C:\Program Files\nodejs\node_global\node_modules\grunt-cli\bin
C:\Program Files\nodejs\node_global\grunt ->C:\Program Files\nodejs\node_global\node_modules\grunt-cli\bin\grunt
+ grunt-cli@1.3.1
added 152 packages in 17.223s

X小知识-【Cpanel】-控制面板默认目录说明文件夹

文件夹:  etc提供给客户存放非网站文件目录,可以删除
文件夹:mai客户邮件所在文件夹,任何时候不可以删除
文件夹:public_ftp提供给客户公用的FTP文件夹,如果没有开匿名FTP的权限此文件夹无用
文件夹:public_html是网页文件存放目录,任何时候不可以删除
文件夹:tmp用于保存统计,访问日志等一些文件,可以删除
文件夹快捷方式:access-logs查看每个域名的访问日志
文件夹快捷方式:www -迅速访问public_html
其中mail和public_html文件夹是绝对不可以删除,其他文件夹在使用的时候可以自动创建。
采用Cpanel控制面板的美国虚拟主机很多,BlueHost、fastdomain、webhostingpad都是最新版Cpnael 11,使用非常方便。
如果误删除了不能删除的默认文件夹,可登录另一个正常的空间,选择备份-备份主目录,并下载。上传到删除默认文件夹的空间,并恢复即可

X小知识-curl-windows下面使用

首先下载工具
curl-7.66.0
E:\Tools\curl-7.66.0_2-win64-mingw\curl-7.66.0-win64-mingw

解压之后找到bin目录
E:\Tools\curl-7.66.0_2-win64-mingw\curl-7.66.0-win64-mingw\bin
将上面的路径添加到系统Path变量

解决乱码问题
安装转换工具gnuwin32
下载地址
https://sourceforge.net/projects/gnuwin32/
安装之后也要将目录添加到path变量
C:\Program Files (x86)\GnuWin32\bin

安装好之后 使用最简单的命令

打开cmd输入测试命令:  curl www.baidu.com -i | iconv -f utf-8 -t gbk

下面有三篇文章介绍如何使用

https://www.cnblogs.com/zhuzhenwei918/p/6781314.html

https://www.cnblogs.com/zdz8207/p/window-curl-iconv.html

https://www.cnblogs.com/cangqinglang/p/10881423.html

同时crul的官网和项目地址

https://curl.haxx.se/download.html

https://curl.haxx.se/windows/

https://github.com/curl/curl-for-win

VS2017-Visual Studio 5个常用的使用技巧汇总

【VS技巧】-请问怎么把VS2013代码前的省略号去掉?

按快捷键 CTRL+R+W

【VS技巧】-VS-开发环境-Js代码格式化配置

【VS技巧】-VS2012中 无法嵌入互操作类型“……”,请改用适用的接口的解决方法

VS2012中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法
选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互操作类型”设置为False。

【VS技巧】-Visual Studio中没有为此解决方案配置选中要生成的项目

解决方法:

菜单->生成->配置管理器->给项目中的生成选项打钩

【VS技巧】-Visual Studio 2017修改编码UTF-8

VS 2017隐藏了高级保存功能,导致没办法直接去设置代码编码 UTF-8。
那么我们直接把高级保存功能调用出来即可

单击“工具”|“自定义”命令,弹出“自定义”对话框。
单击“命令”标签,进入“命令”选项卡。
在“菜单栏”下拉列表中,选择“文件”选项。
单击“添加命令”按钮,弹出“添加命令”对话框。
在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”选项。
单击“确定”按钮,关闭“添加命令”对话框。
选中“控件”列表中的“高级保存选项”选项,单击“上移”或者“下移”按钮,调整该命令的位置。
单击“关闭”按钮,完成“高级保存选项”命令的添加操作

【VS技巧】-在VS2013安装 NuGet

背景
在VS2013安装 NuGet

1.下载

https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013

https://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca

2.安装

直接打开下载到的NuGet.Tools.2013.vsix文件.即可完成安装.(前提是已安装了VS 2013).

3.重启 vs2013.