当前位置: 首页 > news >正文

CYQ.Data 轻量数据层之路 使用篇三曲 MAction 取值赋值(十四)

上一篇:CYQ.Data 轻量数据层之路 使用篇二曲 MAction 数据查询(十三)

 

内容概要

本篇继续上一篇内容,本节介绍所有取值与赋值的相关操作。
1:原生:像操作Row一样
2:扩展:对UI操作 GetFrom与SetTo
3:扩展:非UI操作 Get与Set

 

代码共同部分提前说明,我们假设以通过以下方法查询完一行数据

MAction action  =   new  MAction(TableNames.Users);
if  (action.Fill( " UserName='路过秋天' " ))
 {
     
// 这里是今天要说的取值与赋值操作
       action.Close();
 }

 

 

一:原生操作

1:获取行数据

MDataRow row = action.Data;

2:通过字段取值

string  username  =  row[ " UserName " ].Value;
// 有枚举时
string  username  =  row[Users.UserName].Value;

3:通过索引取值

string  userName  =  row[ 1 ].Value;

 

二:扩展 UI操作

说明:控件ID遵守起名约定:三个字母前缀+字段名称

例如TextBox控件ID为:txtUserName
则为txt(前缀)
+ UserName(数据库字段名称)

 

1:GetFrom 从控件中取值设置到行中

方法原型:
public   void  GetFrom(Control ct)
public   void  GetFrom(Control ct,  object  value)

示例1:

action.GetFrom(txtUserName);
// 等同于
action.Data[ " UserName " ].Value = txtUserName.Text;

示例2:

action.GetFrom(txtUserName,  " 路过秋天 " );
// 等同于
action.Data[ " UserName " ].Value = " 路过秋天 " ;

 

2:SetTo 将行中的数据设置到控件中

方法原形:
public   void  SetTo(Control ct)
public   void  SetTo(Control ct,  object  value)
public   void  SetTo(Control ct,  object  value,  bool  isControlEnabled)

示例1:

action.SetTo(txtUserName);
// 等同于:
txtUserName.Text = action.Data[ " UserName " ].Value.ToString();

示例2:

action.SetTo(txtUserName, " 路过秋天 " );
// 等同于
txtUserName.Text = " 路过秋天 " ;

示例3:

action.SetTo(txtUserName, null , false );
// 等同于:
txtUserName.Text = action.Data[ " UserName " ].Value.ToString();
txtUserName.Enabled
= false ;

 

三:扩展:非UI操作

1:Get 从行中获取数据

原生方法: public  T Get < T > ( object  key)

示例1:

string  userName  =  action.Get < string > ( " UserName " );
string  userName  =  action.Get < string > (Users.UserName); // 有枚举时
// 等同于
string  userName  =  action.Data[ " UserName " ].Value.ToString();

 

2:Set 从变量中设置值到行中

原生方法: public   void  Set( object  key, object  value)

示例1:

action.Set( " UserName " " 路过秋天 " );
// 等同于:
action.Data[ " UserName " ].Value  =   " 路过秋天 " ;

 

结言:

通过本节说明,应该能掌握对于单行数据的基础操作。
对于下节使用说明:内容及名称仍未定。

 

 

 

转载于:https://www.cnblogs.com/cyq1162/archive/2010/09/05/1818623.html

相关文章:

  • 图释WSPBuilder的使用
  • 第K大数问题
  • GirdView实现折叠式效果
  • SQL语句优化方法30例(转)
  • 小技巧:批量另存
  • c# 保留2位小数 整数格式化的操作!
  • GridView导出Excel研究
  • img图片没找到onerror事件 Stack overflow at line: 0
  • Delphi的程序单元
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • h.264 SODB RBSP EBSP的区别
  • 安装打印机失败.错误:提示 另一个程序正在使用此文件,进程无法访问
  • Jquery中的$(document).ready(function(){});的浏览器不兼容性
  • 左偏树详解 ( 转载 )
  • 转:Discuz!NT前台模型架构(MVC)
  • ES6指北【2】—— 箭头函数
  • __proto__ 和 prototype的关系
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • CSS 提示工具(Tooltip)
  • Git初体验
  • in typeof instanceof ===这些运算符有什么作用
  • Javascript设计模式学习之Observer(观察者)模式
  • Promise面试题,控制异步流程
  • rc-form之最单纯情况
  • STAR法则
  • 从零开始的无人驾驶 1
  • 回顾 Swift 多平台移植进度 #2
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 力扣(LeetCode)56
  • 如何胜任知名企业的商业数据分析师?
  • 温故知新之javascript面向对象
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 阿里云移动端播放器高级功能介绍
  • ​一些不规范的GTID使用场景
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .jks文件(JAVA KeyStore)
  • .NET Core引入性能分析引导优化
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • /etc/skel 目录作用
  • [20170713] 无法访问SQL Server
  • [AIGC 大数据基础]hive浅谈
  • [Android]使用Retrofit进行网络请求
  • [Docker]十二.Docker consul集群搭建、微服务部署,Consul集群+Swarm集群部署微服务实战
  • [HackMyVM]靶场Crossbow
  • [JavaScript] JavaScript事件注册,事件委托,冒泡,捕获,事件流
  • [LLM]大模型八股知识点(一)
  • [na]wireshark抓包排错-tcp.flags.reset
  • [POJ2411]Mondriaan's Dream
  • [React源码解析] Fiber (二)
  • [Redis]Redis高级特性的配置及使用