CYQ.Data 数据层框架CYQ.Data 是一款由路过秋天创作的支持多数据库应用[Txt,Xml,Access,MSSQL,Oracle,SQLite,MySql]的底层数据库操作类库,使用本类库可以轻松快速开发项目(QQ群:6033006)。 |
CYQ.Data 数据框架 使用篇四 MAction 增删改
快速使用帮助 |
|
|
| #楼主 |
本篇内容概要 本篇继续上一篇内容,本节介绍所有增删改的相关操作。
1:添加数据 Insert方法 2:删除数据 Delete方法 3:更新数据 Update方法 一:添加操作 方法原型:
public bool Insert() public bool Insert(bool autoSetValue) public bool Insert(bool autoSetValue, InsertOption option) 示例1: using(MAction action = new MAction(TableNames.Users))
{
action.Set(Users.NickName, "路过秋天");//非UI型设值 action.UI.GetFrom(txtUserName)//UI型设值
if(action.Insert())
{
int id=action.Get<int>(Users.ID);//取回插入后的主键ID
} } 示例2:[通常只有action.Insert(true)一行] using(MAction action = new MAction(TableNames.Users))
{
action.Set(Users.NickName, "路过秋天");//非UI型设值
action.GetFrom(txtUserName)//UI型设值 action.UI.SetAutoPrefix("ppt");//设置控件前缀,可设置多个 action.Insert(true);//除了已赋值的,其它表字段,自动从Request["ppt字段"]中取值。 } 另:SetAutoPrefix 设置自动前缀方法(默认4个:空、txt、ddl、chb) 方法原形:public void SetAutoPrefix(string autoPrefix, params string[] otherPrefix) 可自定义设置多个前缀示例如: action.SetAutoPrefix("ppt","nud","lab"); 示例3: using(MAction action = new MAction(TableNames.Users))
{ return action.Insert(false,InsertOption.ID);//插入后,不需要取回自增加ID } InsertOption枚举说明: /// <summary>
/// 插入数据的返回值选项 /// </summary> public enum InsertOption { /// <summary> /// 使用此项:插入数据后[MSSQL会返回ID,其它数据库则不会返回ID] /// </summary> None, /// <summary> /// 使用此项:插入数据后会返回ID。 /// </summary> ID, /// <summary> /// 使用此项:插入数据后,会根据返回ID进行查询后填充数据行。[默认选项] /// </summary> Fill, } 二:删除操作 方法原型: public bool Delete() public bool Delete(object where) 示例1: using(MAction action = new MAction(TableNames.Users))
{ action.Delete(1); } 示例2: using(MAction action = new MAction(TableNames.Users))
{ action.Delete("1,2,3");//批量删除 } 三:更新操作 方法原型: public bool Update() public bool Update(object where) public bool Update(object where, bool AutoSetValue) 示例1: using(MAction action = new MAction(TableNames.Users))
{ action.Set(Users.Password, "http://cyq1162.cnblogs.com"); action.Update(1);//更新ID为1的密码 } 示例2: using(MAction action = new MAction(TableNames.Users))
{ action.Set(Users.Password, "http://cyq1162.cnblogs.com"); action.Update("UserName='路过秋天'"); } 示例3: using(MAction action = new MAction(TableNames.Users))
{
action.Set(Users.NickName, "路过秋天");//非UI型设值
action.Update("id=1",true);//除了已赋值的,其它表字段,自动从Request["字段"]中取值。 } |
游客[注册][163.179.46.*]2016/8/3 17:53:20 | #5 | |
大神,如果我想通过一个对象(从数据映射过来的)要插入的话,我需要遍历字段然后每个set一下吗?有没有更好的方法?? |
游客[注册][219.131.183.*]2011/5/3 19:04:51 | #4 | |
更正一下#3 是因为此方法只支持ASP.NET,不支持WinForm所至,并非程序出错,已得到管理员解答 回复: 已经支持Winform和WPF了。 只是设置前缀是另一个方法叫:SetAutoParentControl |
游客[注册][113.74.63.*]2011/4/28 12:02:56 | #3 | |
using(MAction action = new MAction("Emp")) { action.SetAutoPrefix("txt"); action.Insert(true); } 为什么这样执行不了?对应数据库有 3个字段:id,f1,f2,f3 文本框为:txtf1,txtf2,txtf3 执行时显示出错,如果用单独赋值,Set或GetFrom,则无问题 回复: 可以通过输出action.DebugInfo来查看具体执行的SQL语句,再进行判断。 |
allenliu2011/3/18 3:10:18 | #2 | |
首先肯定Author的能力,开源这个框架也很有奉献的精神 个人感觉上面的 update 和 insert 还不够完善,不够灵活 回复: 这个教程写的比较早期,框架已经过多个版本的演进,有了不少的改进,具体可以看最新版本的API文档。 |
zhujiawei72011/3/2 22:54:02 | #1 | |
请问我想insert类似于这样的语句该怎么调用。 insert 表A (字段1,字段2,字段3) select 字段10,字段11,getdate() from 表2 where 字段10=? 回复: 如果你想执行sql语句,可以使用MProc,具体教程在后两篇中有介绍。 |
发表评论
论坛公告
帖子搜索
最新帖子
最新评论
- 请教博主。我mysql的提示 V5.7.7.4 MySql.xxxx:check the tablename "tbl_site_info" is exist? error:ExeDataReader():Expression #1 of ORDER BY clause is not in SELECT list, references column 'information_schema.s1.ORDINAL_POSITION' which is not in SELECT list; this is incompatible with DISTINCT 配置如下: <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="Conn" connectionString="host=192.168.3.101;Port=3306;Database=xxxxx;uid=root;pwd=2017" providerName="MySql.Data.MySqlClient"/> </connectionStrings> </configuration>
- 查询语句有点问题,软件启动时查询语句可以从数据库查询出数据,软件一直运行时无论怎么修改数据库,查询出来的还是老数据,不知道是为什么
- 我语句中用到了union all而且两个查询都有查询条件,action.select总是不成功,不知道有没有什么好的解决办法,谢谢
- 大神,如果我想通过一个对象(从数据映射过来的)要插入的话,我需要遍历字段然后每个set一下吗?有没有更好的方法??
- 真心好用,想问下秋天直接拼写sql怕注入吗
- V4.5后,好多方法都改变了,求来个新的日志帮助
- 請問大神V5源碼要多少錢 我是和交流過的
- 楼主,,从数据库里查出来并绑定datagridview,但是显示的都是数据库里的英文名,怎么改??好纠结啊这个。。。。
- 我想问一下,主从表添加怎样处理
- 10年就过了!!!!