PS:当然还有五个CodeFirst格局时自动发出用于记录表结构的”表名.ts”文件。

1:存储用json或xml。
2:读取时还原为MDataTable。
3:操作时操作MDataTable实现数据行的成形。
4:保存时再一次写为json或xml。

 

 

 

 

对此文本数据库的规律:简而言之,就4步:

 

 

 

大致全部的兑现,基本上就同一解析上边的SQL语法,然后回归到MDataTable的原有操作上去,细节就不啰嗦重复了。

 最后再查询呈现叁次:

数量的囤积,是依据json格式或xml格式的,而落到实处的法则,也有一篇介绍: CYQ.Data
V5文本数据库技术原领悟密

文本数据库的Where语句分拆: 

CYQ.Data V5里文本数据库,实用价值:

 

下边那段代码相当粗略,执行钦赐链接的SQL语句,然后突显相应的音讯。

 

 

json 1

前日完成基本成效后,也写了一篇突发想援救SQL语句的争执想法的起点: CYQ.Data
文本数据库解析SQL语法

json 2

json 3

 

下载地址: http://www.cyqdata.com/download/article-detail-426

再添加一行数据:

CodeFirst时,假若有多少(第2条数据发生时,自动依据实体产生了表结构,假若是文本,在钦定的目录下出来这一个)

 

上边再补充一下ErrogLogs以此日志表达:

默许的CodeFirst,简单说就是您内定哪一种数据库类型,就会自动制造相应的表结构,然后把推行SQL的错误消息写到该日志里,方便查询分析和缓解。
从前,小编习惯把日记的链接写成:
<add name=”LogConn” connectionString=”Conn”/> 
其实正是指向Conn(CYQ.Data暗许的主数据库配置顶),那样就把日志表放到和主数据库表同二个数据库。。
结果有时候,假如主数据库挂掉,相当日志就不能够记录了,所以建议是存到别的数据库。
但有了文件数据库之后,用文件来囤积日志,看似是个不利的取舍,而且操作也格外便宜。

今后要援救SQL,看似复杂点又提高了点,因为不难的SQL语句大体如下:

 

品种截图就归纳了,页面后台的代码:

 

 

 json 4

OK,下边大家删除全体数据库,执行成功后删除了5行数据:

原先的效应,有Select(where),这一个where是援助sql语句的,不难说正是对where进行了以下分析:
string where=”id>1 and name like ‘%a%’ order by id desc”;
剖析出where,order by ,再分析出id,name及相应的值,循环进行值判断,提取出合适的行。 
据此达成查询的功能。

比如:Insert into ErrorLogs(PageUrl , ErrorMessage) values(‘http://…','what” is (the (name))…’)
把那条语句,分拆出:
1:操作:Insert
2: 表名:ErrorLogs
3:PageUrl :”http://…”
4: ErrorMessage :”‘what” is (the (name))…” 

 

 

PS:作者觉的可以确切的拿来做面试题了。。。。

上面我们看界面:由于自己的类型里自个儿就有日记,大家询问一下:

 

CYQ.Data
V5版本的文本数据库,从前有过相关的牵线:周末一同用文件数据库玩玩Code
First

席卷网站站点的广告节点显示,友情链接,一些必要日常或偶尔编辑的Key,Value值等项,存文本数据库是最方便不过了。
使得的把非主站的增大数据,存款和储蓄到文本数据库,利用文本数据完全内部存储器表机制,高效,节能,又便于。

现今,整个中央的SQL语法解析和贯彻就过逝了,至于何以GroupBy,多表,视图,函数之类的,就在文件数据库的能力之外了。

CYQ.Data
V5在文件数据库、Access、SQLite、XHtmlAction等功效,都以不需求授权能够从来运用的。

 

 

json, protected void btnExec_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtSql.Text))
            {
                MProc proc = new MProc(txtSql.Text, txtConn.Text);
                switch (ddlExeType.SelectedValue)
                {
                    case “0”:
                        labTip.Text = proc.ExeScalar<string>();
                        break;
                    case “1”:
                        labTip.Text = proc.ExeNonQuery().ToString();
                        break;
                    case “2”:
                        MDataTable dt = proc.ExeMDataTable();
                        rptList.DataSource = dt;
                        rptList.DataBind();
                        break;
                }
                proc.Close();
            }
        }

操作数据库,基本配置文件里钦命日志的链接字符串是必不可少的内容:

对此那一个字符串的拍卖,真是很考基本功:

上面看一下贯彻后的功能图:

Insert into ErrorLogs(PageUrl , ErrorMessage) values(‘http://…','what” is the …’)
Select count(*) from ErrorLogs…
Select * from ErrorLogs where …
Select id,name from ErrorLogs …
Update ErrorLogs set id=1 and name=’name is Mr” Right’
Delete From ErrorLogs where …

 

 

证实:把系统错误日志用文件数据库记录,CYQ.Data
V5内置用了CodeFirst格局来落到实处丰盛的数据库执行日志错误:

成效的落到实处自个儿用五个Table去For依旧while去落到实处和谐供给的逻辑。 

<add name=”LogConn” connectionString=”txt path={0}App_Data”/> 

json 5

 最终更新那行1行数据:

表名为ErrorLogs
多少个字段分别为:
1:ID,PageUrl,ErrorMessage,CreateTime。 

 

 

理所当然了,除了相比较正式的,是自动生成的,假若您是温馨手工业创造,能够新建3个表名.ts表结构,内容:

ID,int;
PageUrl,string;
ErrorMessage,string;
CreateTime,datetime; 

 

json 6 

 

相关文章

网站地图xml地图