这个个人搞的框架不知道到底怎么样,做个项目测试下看看,本来想用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. lua学习:lua中“类”的实现

    在之前的面试遇到考用lua实现类的题目.现在就补补这块知识点. 我们都知道Lua中的table是一个对象.拥有状态,拥有self,拥有独立于创建者和创建地的生命周期. 一个类就是一个创建对象的模具.L ...

  2. android NDK编程:使用posix多线程与mutex相互排斥同步

    MainActivity.java 调用原生方法 posixThreads(int threads, int iterations) 启动线程 package com.apress.threads; ...

  3. SQL Server 2005 中实现通用的异步触发器架构 (转)

    在SQL Server 2005中,通过新增的Service Broker可以实现异步触发器的处理功能.本文提供一种使用Service Broker实现的通用异步触发器方法. 在本方法中,通过Serv ...

  4. Jquery chosen动态设置值 select Ajax动态载入数据 设置chosen和获取他们选中的值

      在做一个编辑对话框时,要对里面带有select option的操作.主要是想动态载入option和对option的选中.可是由于项目中使用了jquery里的chosen()方法.怎么也无法实现效果 ...

  5. (转)Apache的安装与配置

    转自:http://www.dreamdu.com/webbuild/apache/ 5.2. Apache的安装与配置 5.2.1. Apache安装与配置视频教程 下面将介绍如何在WinXP下安装 ...

  6. Qt 之 QtConcurrent

    本文以 Qt 中的 QtConcurrent::run() 函数为例,介绍如何将函数运行在单独的某一个线程中. 1  QtConcurrent::run() QtConcurrent 是一个命名空间, ...

  7. C#基础视频教程4.1 如何编写简单的计算器

    要学会基本的窗体控件(button,textbox,label这种,以及他们的重要属性),每个控件的命名要符合规范(例如一般文本框都会重命名txtXXXXX,按钮都会重命名btnXXXXX)   为了 ...

  8. minigui杂项

    官方下载地址 MiniGUI简介 http://www.minigui.com/zhcn/download/ MiniGUI3.0.12 移植到mini2440 在海思hi3520上移植minigui ...

  9. source insight中{}自动缩进的调整

    默认的自动缩进非常难看,解决方法如下: 菜单栏 -> Options -> document options ->点击右侧的 “Auto Indent...”按钮 将右侧" ...

  10. 苹果开发——向App Store提交应用

    原地址:http://zengwu3915.blog.163.com/blog/static/2783489720137410539278/ 完成一个app应用后,肯定是要提交的,下面聊一下关于向Ap ...