这个个人搞的框架不知道到底怎么样,做个项目测试下看看,本来想用EF的,大多数人说性能低,所以先放弃,试试这个,一些主要地方我做个摘录

5:多表怎么搞定?

A:视图方式,将多表查询放到数据库里成视图,情况和单表一样使用;

B:自定义查询语句如:


string table = "(select A.*,B.Name from CQ_Album A left join CQ_UserInfo U on A.UserID=U.UserID) v";
MAction action = new MAction(table);
int rowCount;
gvTable.DataSource = action.Select(1, 10, "id>1", out rowCount);
gvTable.DataBind();
action.Close();

当然了,你只要把自定义的sql语句,全放一边去统一管理就行了,界面上就不要出现sql语句了!

本人从新的实体框架上引入SetTo与GetFrom方法,下一篇改造版本将从索引赋/取值中解放,敬请关注:


//原索引设置值:  
action.Data[CQ_Album.AlbumName].Value = txtAlbumName.Text;  
//改进后成:  
action.GetFrom(txtAlbumName);   //原索引读值: 
txtAlbumName.Text=action.Data[CQ_Album.AlbumName].Value  
//改进后成:  
action.SetTo(txtAlbumName);  

第二课

接着开始项目实战了,下面示例已经过测试:

1:单行数据填充:

  MAction action = new MAction(TableNames.CQ_Album);
  if (action.Fill(1))
  {
      lbText.Text = action.Data[CQ_Album.AlbumName].Value.ToString();
      action.Close();
  }

2:数据更新:


 MAction action = new MAction(TableNames.CQ_Album);
 if (action.Fill(1))
  {
       action.Data[CQ_Album.AlbumName].Value = txtAlbumName.Text;
       action.Update();
       action.Close();
  }

数据更新方法二:

 MAction action = new MAction(TableNames.CQ_Album);
 action.Data[CQ_Album.AlbumName].Value = txtAlbumName.Text;
 action.Update("id=1");
 action.Close();

3:数据删除:

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

数据删除方法二:

MAction action = new MAction(TableNames.CQ_Album);
action.DeleteByWhere("id=2");
action.Close();

4:数据查询与绑定:

查询所有:

MAction action = new MAction(TableNames.CQ_Album);
gvTable.DataSource = action.Select();
gvTable.DataBind();
action.Close();

分页查询:

 MAction action = new MAction(TableNames.CQ_Album);
 int rowCount;
 gvTable.DataSource = action.Select(1, 10, "id>10", out rowCount);
 gvTable.DataBind();
 action.Close();

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

  1. CYQ学习主要摘要4

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

  2. CYQ学习主要摘要2

    数据库配置假设如下: <connectionStrings>         <add name="Conn" connectionString="Se ...

  3. CYQ学习主要摘要3

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

  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. FAQ:领域服务和应用服务的职责是什么?

    问答部分 问: 领域服务的职责是什么? 答: 夸聚合实例业务逻辑. 没办法合理放到实体中的其它业务逻辑. 问: 领域服务的设计原则是什么? 答: 用来组织业务逻辑. 面向业务逻辑. 细粒度. 内部视图 ...

  2. Could not find com.android.support.constraint:constraint-layout的问题解决

    这几天使用android studio的各种坑之一: Error:Could not find com.android.support.constraint:constraint-layout:1.0 ...

  3. 如何从MATLAB里面保存出分辨率高的图形

    MATLAB堪称科技工作者的倚天屠龙,其科学计算,简洁的编程风格,友好的图形界面等等,都使得它颇受欢迎.MATLAB作图相当简单,而且美观,但是,缺点是分辨率低,一直没有发现,直到最近一期刊编辑告诉我 ...

  4. 彻底删除SVN版本库中部分文件或文件夹

    例:假设SVN库路径为E:/svn/project,库中的目录结构为 QA/Trunk Software/Tags/test.exe 删除Software/Tags/目录下的test.exe文件 操作 ...

  5. 如何查找python安装包的路径site-packages?

    使用命令: python -m site python -m site --user-site 注意当查看指定版本的python的安装包时,需要指定python版本,比如python2.7.15 -m ...

  6. 挑战黑客极限:Pwn2Own 2015成史上“最难”黑客大赛

    Pwn2Own是全球最著名.奖金最丰厚的黑客大赛,由美国五角大楼入侵防护系统供应商TippingPoint赞助.近日Pwn2Own 2015公布全新的比赛规则,本届赛事难度超高.史无前例,包括VUPE ...

  7. CC+语言 struct 深层探索——CC + language struct deep exploration

    1        struct 的巨大作用 面对一个人的大型C/C++程序时,只看其对struct 的使用情况我们就可以对其编写者的编程经验进行评估.因为一个大型的C/C++程序,势必要涉及一些(甚至 ...

  8. JSP学习笔记(一):JSP语法和指令

    一.语法 1.脚本程序的语法格式: 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. <% 代码片段 %> 2.中文编码问题 如果我们要在页面正常显 ...

  9. (剑指Offer)面试题39:二叉树的深度

    题目: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 结点的定义如下: struct TreeNode{ int val; ...

  10. 显示游戏FPS帧率的几种计算方式

    FPSDisplay.cs using UnityEngine; using System.Collections; public class FPSDisplay : MonoBehaviour { ...