这个个人搞的框架不知道到底怎么样,做个项目测试下看看,本来想用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. [Mac OS] Homebrew简介及安装wine

    Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...

  2. Linux进程间通信:管道,信号量,消息队列,信号,共享内存,套接字

    Linux下的进程通信手段基本上是从UNIX平台上的进程通信手段继承而来的.而对UNIX发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间 ...

  3. 使用R语言和XML包抓取网页数据-Scraping data from web pages in R with XML package

    In the last years a lot of data has been released publicly in different formats, but sometimes the d ...

  4. C# 弹出USB外接硬盘(U盘)

    最近一个项目需要通过代码来弹出USB外接硬盘设备,经过google找到了下面这个类库: http://www.codeproject.com/Articles/13530/Eject-USB-disk ...

  5. ZZY的宠物(矩阵运算+快速幂)

    E :ZZY的宠物 描述 ZZY领养了一对刚刚出生的不知名小宠物..巨萌巨可爱!!...小宠物的生命为5个单位时间并且不会在中间出意外翘辫子(如: 从0出生能活到5但活不到6)..小宠物经过2个单位时 ...

  6. go语言基础之有参有返回值函数的使用

    1.有参有返回值函数的使用 示例1: package main //必须 import "fmt" //go官方推荐写法 func MaxAndMin(a, b int) (max ...

  7. Node.js:Buffer(缓冲区)介绍及常用方法

    JavaScript 语言自身只有字符串数据类型,没有二进制数据类型. 但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门 ...

  8. 使用webService时,gsoap数据类型注意事项

    今天在使用gsoap生成webservice客户端文件时,发现我的参数类型全被改了,比如string型变成了char*,原来有STL的地方也变没了,经过研究发现,原来和我生成的头文件时使用的参数有关, ...

  9. 无法将“<s:SimpleText>”解析为组件执行

    导入以前版本的flex代码时,报"无法将“<s:SimpleText>”解析为组件执行"错误: 后来在网上找到解决方案,即版本更新的一段话: 网址是:https://f ...

  10. MFC获得主窗体和父窗体指针

    MFC编程中经常遇到子窗体向父窗体传递參数的情况,这就须要获得父窗体的指针. 例:主对话框CMyMainDlg通过buttonButtonA进入对话框CMyParentDlg.CMyParentDlg ...