2019獨角獸企業重金招聘Python工程師標準>>>
上一篇:CYQ.Data 輕量數據層之路 使用篇二曲 MAction 數據查詢(十三)
?
內容概要
本篇繼續上一篇內容,本節介紹所有取值與賦值的相關操作。
1:原生:像操作Row一樣
2:擴展:對UI操作?GetFrom與SetTo
3:擴展:非UI操作?Get與Set
1:原生:像操作Row一樣
2:擴展:對UI操作?GetFrom與SetTo
3:擴展:非UI操作?Get與Set
?
代碼共同部分提前說明,我們假設以通過以下方法查詢完一行數據
MAction?action? = ? new ?MAction(TableNames.Users);
if ?(action.Fill( " UserName='路過秋天' " ))
?{
????? // 這里是今天要說的取值與賦值操作
???????action.Close();
?}
if ?(action.Fill( " UserName='路過秋天' " ))
?{
????? // 這里是今天要說的取值與賦值操作
???????action.Close();
?}
?
?
一:原生操作
1:獲取行數據
MDataRow?row = action.Data;
2:通過字段取值
string ?username? = ?row[ " UserName " ].Value;
// 有枚舉時
string ?username? = ?row[Users.UserName].Value;
// 有枚舉時
string ?username? = ?row[Users.UserName].Value;
3:通過索引取值
string ?userName? = ?row[ 1 ].Value;
?
二:擴展 UI操作
說明:控件ID遵守起名約定:三個字母前綴+字段名稱
例如TextBox控件ID為:txtUserName
則為txt(前綴) + UserName(數據庫字段名稱)
則為txt(前綴) + UserName(數據庫字段名稱)
?
1:GetFrom 從控件中取值設置到行中
方法原型:
public ? void ?GetFrom(Control?ct)
public ? void ?GetFrom(Control?ct,? object ?value)
public ? void ?GetFrom(Control?ct)
public ? void ?GetFrom(Control?ct,? object ?value)
示例1:
action.GetFrom(txtUserName);
// 等同于
action.Data[ " UserName " ].Value = txtUserName.Text;
// 等同于
action.Data[ " UserName " ].Value = txtUserName.Text;
示例2:
action.GetFrom(txtUserName,? " 路過秋天 " );
// 等同于
action.Data[ " UserName " ].Value = " 路過秋天 " ;
// 等同于
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)
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();
// 等同于:
txtUserName.Text = action.Data[ " UserName " ].Value.ToString();
示例2:
action.SetTo(txtUserName, " 路過秋天 " );
// 等同于
txtUserName.Text = " 路過秋天 " ;
// 等同于
txtUserName.Text = " 路過秋天 " ;
示例3:
action.SetTo(txtUserName, null , false );
// 等同于:
txtUserName.Text = action.Data[ " UserName " ].Value.ToString();
txtUserName.Enabled = 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();
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? = ? " 路過秋天 " ;
// 等同于:
action.Data[ " UserName " ].Value? = ? " 路過秋天 " ;
?
結言:
通過本節說明,應該能掌握對于單行數據的基礎操作。
對于下節使用說明:內容及名稱仍未定。
對于下節使用說明:內容及名稱仍未定。
?
?
?