继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕田峪0738999
关注TA
已关注
手记 344
粉丝 88
获赞 494

 

内容概要

本篇继续上一篇内容,本节介绍所有取值与赋值的相关操作。
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 = "路过秋天";

 

结言:

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

 

 

 

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP