• CYQ.Data 轻量数据层之路 继续狂热升级(三)


    在上一篇:CYQ.Data 轻量数据层之路 终极升级(二) 之时,我通过新增加GetFrom与SetTo方法,来避免直接使用索引的取值和赋值的不便。

    本来,今天是打算写个实例教程,来简单介绍用这个超轻量框架进行开发是有多轻松的事情,不过在使用时,还是发现了个别的小bug。

    于是,今天狂热的修改了N多代码,抽取Sql组成部分到单独的类中,继续去掉N多重载方法,留下最简洁最实用的方法。

    以面看看有哪些改进:

    数据库配置假设如下:

    <connectionStrings>
            
    <add name="Conn" connectionString="Server=.;database=CQSpace;uid=sa;pwd=123456"/>
            
    <add name="CYQ" connectionString="Server=.;database=CQSpace;uid=sa;pwd=123456"/>
        
    </connectionStrings>

    操作类的实例方法:

    方法一:默认取配置文件Conn的链接字符串

    MAction action = new MAction(TableNames.CQ_BlogSet);

    方法二:取自定义名称如CYQ的链接字符串:

    MAction action = new MAction(TableNames.CQ_BlogSet,"CYQ");

    方法三:直取链接字符串

    MAction action = new MAction(TableNames.CQ_BlogSet,"Server=.;database=CQSpace;uid=sa;pwd=123456");

    接下来看看都有什么操作方法更新:

    1:单条数据查询方法:

    方式一:直接传ID

                MAction action = new MAction(TableNames.CQ_BlogSet);
                
    if (action.Fill(888))
                {
                    action.SetTo(lblAlbumType);
                    action.Close();
                }

    方式二:传where条件

                MAction action = new MAction(TableNames.CQ_BlogSet);
                
    if (action.Fill("Title='xxxx'"))
                {
                    action.SetTo(lblAlbumType);
                    action.Close();
                }

    2:数据删除:

    方式一:先填充再删除

    if (action.Fill(888))
    {
       action.Delete();
       action.Close();
    }

    方式二:根据ID删除

    MAction action = new MAction(TableNames.CQ_Album);     
    action.Delete(
    888);
    action.Close();
                

    方式三:根据条件删除

    MAction action = new MAction(TableNames.CQ_Album);
    action.Delete(
    "id>888");
    action.Close();

    3:数据更新

    方式一:先填充再更新

    MAction action = new MAction(TableNames.CQ_Album);
    if (action.Fill(111))
    {
       action.GetFrom(txtAlbumName);
       action.Update();
       action.Close();
    }

    方式二:根据ID更新

      MAction action = new MAction(TableNames.CQ_Album);
      action.GetFrom(txtAlbumName);
      action.Update(
    111);
      action.Close();

    方式三:根据条件更新

    MAction action = new MAction(TableNames.CQ_Album);
    action.GetFrom(txtAlbumName);
    action.Update(
    "id=299 or name='路过秋天'");
    action.Close();

    4:数据列表查询和多表联合查询没变化,和上上节一致。

    看第一节:CYQ.Data 轻量数据层之路 开篇介绍(一)

    5:新增加计数查询:

    MAction action = new MAction(TableNames.CQ_BlogSet);
    lblAlbumType.Text 
    = action.GetCount("id>2 and Name='路过秋天'").ToString();
    action.Close();

    6:为了进一步隐藏索引取值与赋值而产生的Get与Set方法:

    在上节的升级中,新增加的GetFrom与SetTo只能对控件赋值进行操作,如果我们只是需要取值,或设置值,中间没有控件呢?

    在上节之前,我们只能又回到索引的方式取值了如:

    string albumType=action.Data[CQ_Album.AlbumName].Value.ToString();

    狂热升级之后:用上新加的Get方法取值,效果就变成了:

    string albumType = action.Get<string>(CQ_Album.AlbumName);

    而Set方法赋值则为: 

    action.Set(CQ_Album.AlbumName, "路过秋天";);

    于是,对于取值与赋值,我们目前有3种方法可用了:

    1:对控件型的:GetFrom与SetTo

    2:对变量型的:Get与Set

    3:保留的:索引数据/枚举与字段名(字符串)取值

    OK,本节介绍点到为止,下节再开示例应用篇。欢迎使用与留言!

    最后提供新版本V1.2下载:点击下载[大小:60K 没加密没混淆没限制,可放心使用,可直接用Reflector.exe查看源码]

    版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
    个人微信公众号
    创业QQ群:617713515
    Donation(扫码支持作者):支付宝:
    Donation(扫码支持作者):微信:
  • 相关阅读:
    套接字编程
    #define 的换行问题
    影响网站打开速度的10个因素
    C#字符串内多个空格合并成1个
    cssaucl论坛 购买域名和网络空间ftp上传
    MVC教程 索引
    DataTable和xls文件的相互转换;关闭服务端的Excel进程;用静态类写数据库配置类,数据库操作类;
    点CMS
    SQLServer 4类join查询:inner join,left join, right join, full outer join
    java的++i和i++的分析
  • 原文地址:https://www.cnblogs.com/cyq1162/p/1801120.html
Copyright © 2020-2023  润新知