数据库配置假设如下:


<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:保留的:索引数据/枚举与字段名(字符串)取值

CYQ学习主要摘要2的更多相关文章

  1. CYQ学习主要摘要4

    http://www.cnblogs.com/cyq1162/archive/2010/11/03/1867642.html Xml的处理 http://www.cnblogs.com/cyq1162 ...

  2. CYQ学习主要摘要3

    1:MAction:增加ResetTable功能  增加ResetTable功能:减少New MAction的个数2:MAction:增加在Update/Insert/Fill/ResetTable失 ...

  3. CYQ学习主要摘要

    这个个人搞的框架不知道到底怎么样,做个项目测试下看看,本来想用EF的,大多数人说性能低,所以先放弃,试试这个,一些主要地方我做个摘录 5:多表怎么搞定? A:视图方式,将多表查询放到数据库里成视图,情 ...

  4. Android 学习历程摘要(三)

    1.proguard混淆:对与Activity等不应进行混淆.否则系统将找不到生命周期函数:JSON字符串要考虑混淆之后是否会影响字段名:native方法也不混淆,否则调用不到 2.ListView的 ...

  5. Android 学习历程摘要(二)

    1.资源文件命名仅仅能小写,否则会报错生成不了R.java文件 2.R文件导包时应该导入自己project的包,而不是android.R 3.数据库操作使用SqliteOpenHelper 4.val ...

  6. Android 学习历程摘要(一)

    初学Android,可能有些地方可能理解不正确,假设有朋友看到的话麻烦指正我一下,万分感谢. 1. 善用API DEMO,刚開始学习的人的需求基本在里面都能够满足,Eclipse导入API Demop ...

  7. PostgreSQL学习笔记——摘要

    因为PostgreSQL和MySQL.DB2等数据库均遵循SQL语法,所以这篇随笔仅记录一些PostgreSQL中和别的数据库有差别或之前学习中遗漏的地方,以及一些我觉得比较重点的地方. 通过psql ...

  8. CYQ学习教程

    http://www.cyqdata.com/cyqdata/article-detail-413

  9. python + selenium 学习笔记 -摘要

    一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大 ...

随机推荐

  1. http://www.cnblogs.com/zhoujinyi/p/3437475.html

    http://www.cnblogs.com/zhoujinyi/p/3437475.html

  2. OpenCV学习(14) 细化算法(2)

          前面一篇教程中,我们实现了Zhang的快速并行细化算法,从算法原理上,我们可以知道,算法是基于像素8邻域的形状来决定是否删除当前像素.还有很多与此算法相似的细化算法,只是判断的条件不一样. ...

  3. FishEye

  4. php 单进程SAPI生命周期

    php的生命周期3.1 STARTUP    1.初始化引擎和核心组件.    2.解析php.ini.    3.初始化静态构建的模块(MINIT).    4.初始化共享模块(MINIT).3.2 ...

  5. poj 1260 Pearls 斜率优化dp

    这个题目数据量很小,但是满足斜率优化的条件,可以用斜率优化dp来做. 要注意的地方,0也是一个决策点. #include <iostream> #include <cstdio> ...

  6. [Functional Programming] Use Task/Async for Asynchronous Actions

    We refactor a standard node callback style workflow into a composed task-based workflow. Original Co ...

  7. STL - 迭代器 - 安插型迭代器

    list<, , , , , , , , }; cout << "** collection 1: **" << endl; ContainerUti ...

  8. GuildBrowser使用AF+MVC 学习笔记

    GuildBrowser 是一个 测试用的项目此为 魔兽世界api的一个展示客户端 项目地址:https://github.com/yehai/GuildBrowser 一:所使用的设计模式:MVC ...

  9. BNU 26480 Horror List【最短路】

    链接: http://www.bnuoj.com/bnuoj/problem_show.php?pid=26480 http://www.bnuoj.com/bnuoj/contest_show.ph ...

  10. 算法笔记_031:计算中值和选择问题(Java)

    目录 1 问题描述  2 解决方案 2.1 计算中值问题 2.2 选择问题   1 问题描述 中值问题是求一个n个数列表中某一数组下标k,它要求该下标元素比列表中的一半元素大,又比另一半元素小,这个中 ...