CYQ学习主要摘要
这个个人搞的框架不知道到底怎么样,做个项目测试下看看,本来想用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学习主要摘要的更多相关文章
- CYQ学习主要摘要4
http://www.cnblogs.com/cyq1162/archive/2010/11/03/1867642.html Xml的处理 http://www.cnblogs.com/cyq1162 ...
- CYQ学习主要摘要2
数据库配置假设如下: <connectionStrings> <add name="Conn" connectionString="Se ...
- CYQ学习主要摘要3
1:MAction:增加ResetTable功能 增加ResetTable功能:减少New MAction的个数2:MAction:增加在Update/Insert/Fill/ResetTable失 ...
- Android 学习历程摘要(三)
1.proguard混淆:对与Activity等不应进行混淆.否则系统将找不到生命周期函数:JSON字符串要考虑混淆之后是否会影响字段名:native方法也不混淆,否则调用不到 2.ListView的 ...
- Android 学习历程摘要(二)
1.资源文件命名仅仅能小写,否则会报错生成不了R.java文件 2.R文件导包时应该导入自己project的包,而不是android.R 3.数据库操作使用SqliteOpenHelper 4.val ...
- Android 学习历程摘要(一)
初学Android,可能有些地方可能理解不正确,假设有朋友看到的话麻烦指正我一下,万分感谢. 1. 善用API DEMO,刚開始学习的人的需求基本在里面都能够满足,Eclipse导入API Demop ...
- PostgreSQL学习笔记——摘要
因为PostgreSQL和MySQL.DB2等数据库均遵循SQL语法,所以这篇随笔仅记录一些PostgreSQL中和别的数据库有差别或之前学习中遗漏的地方,以及一些我觉得比较重点的地方. 通过psql ...
- CYQ学习教程
http://www.cyqdata.com/cyqdata/article-detail-413
- python + selenium 学习笔记 -摘要
一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大 ...
随机推荐
- Java:终结器防卫者,顺便看一下 C# 如何做的。
背景 多数情况我们不需要重写 finalize 方法,只有当我们需要持有未托管资源的时候才需要,而此时重写 finalize 方法,只是作为一个“安全网”,不能作为常规的资源释放模式,必须提供显式的释 ...
- Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip
获取本地 ip 地址,mac,通过域名获取对应的 ip, 是网络编程可能遇到的比较常见的操作了,所以总结如下(封装了3个函数), 直接上代码: #include <stdio.h> #in ...
- 使用CSS3实现的player播放按钮
完成的效果如下 查看效果并下载 Step 1:先了解border的原理: Step 2:HTML代码结构 <section class="playContainer"> ...
- 杭电 HDU 1031 Design T-Shirt
Design T-Shirt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- [Grunt] Minifying your output with grunt-uglify
For production we want to use minified javascript to reduce the payload that is sent from the server ...
- discuz,ecshop的伪静态规则(apache+nginx)
discuz(nginx): (备注:该规则也适用于二级目录) rewrite ^([^\.]*)/topic-(.+)\.html$ $/portal.php?mod=topic&topic ...
- ES PS TS 流的区别
http://fengqing888.blog.163.com/blog/static/330114162012111805717584/ ES是原始码流,包含视频.音频或数据的连续码流.TS是传输流 ...
- 微信小程序 - 选取搜索地点并且显示(map)
演示如下,使用时,你也许会配合它:腾讯地图路线规划 wxml: <view class='address' bindtap='onChangeAddress'> <input cla ...
- 七彩花都手机客户部分测试源码Phonegap+html5
个人建设广州花都论坛,七彩花都(http://www.w30.cn)包含传值回复楼层的jsonp 可以加入我们的QQ群讨论 专注phonepap 核心加载 jsonp返回格式为 jsonp([{&qu ...
- Java 并发:内置锁 Synchronized
摘要: 在多线程编程中,线程安全问题是一个最为关键的问题,其核心概念就在于正确性,即当多个线程訪问某一共享.可变数据时,始终都不会导致数据破坏以及其它不该出现的结果. 而全部的并发模式在解决问题时,採 ...