上一篇:CYQ.Data 轻量数据层之路 使用篇四曲 MAction 增删改(十五)
本篇内容概要
本篇继续上一篇内容,本节介绍MProc 类的相关操作。
1:MProc 存储过程操作
2:MProc SQL执行操作[将于V1.5版本以上支持]
1:MProc 存储过程操作
2:MProc SQL执行操作[将于V1.5版本以上支持]
一:构造函数
方法原型:
public MProc(object procNamesEnum)
public MProc(object procName, string conn)
public MProc(object procNamesEnum)
public MProc(object procName, string conn)
说明:
构造函数和MAction用法一致,相关操作可参数MAction。
示例1:
//传入存储过程名称 默认取配置项Conn的数据库链接
MProc proc = new MProc("GetUserList");
MProc proc = new MProc(ProcNames.GetUserList);//通过枚举传入
MProc proc = new MProc("GetUserList");
MProc proc = new MProc(ProcNames.GetUserList);//通过枚举传入
示例2:

//传入数据库新的数据库链接 配置项Conn
MProc proc = new MProc("GetUserList","ChatConn");
//传入数据库新的数据库链接 直接链接字符串
MProc proc = new MProc("GetUserList","Server=.;database=Chat;uid=sa;pwd=xxxxx");
//多数据库下用约定名称 取自ChatConn配置项的链接
MProc proc = new MProc(P_ChatEnum.GetUserList);
MProc proc = new MProc("GetUserList","ChatConn");
//传入数据库新的数据库链接 直接链接字符串
MProc proc = new MProc("GetUserList","Server=.;database=Chat;uid=sa;pwd=xxxxx");
//多数据库下用约定名称 取自ChatConn配置项的链接
MProc proc = new MProc(P_ChatEnum.GetUserList);
示例3:
说明:仅在V1.5版本以上支持。
//执行自定义SQL 语句 默认取自Conn配置项数据库链接
MProc proc = new MProc("select * from Users");
//执行自定义SQL 语句 取自ChatConn配置项数据库链接
MProc proc = new MProc("select * from Users","ChatConn");
//执行自定义SQL 语句 默认取自Conn配置项数据库链接
MProc proc = new MProc("select * from Users");
//执行自定义SQL 语句 取自ChatConn配置项数据库链接
MProc proc = new MProc("select * from Users","ChatConn");
二:参数操作
方法原型:
public void Set(object paraName, object value)
public void Set(object paraName, object value,SqlDbType sqlDbType)
public void Clear()
public void Set(object paraName, object value,SqlDbType sqlDbType)
public void Clear()
示例1:
//为存储过程或参数化SQL语句的设置参数
proc.Set("ID", 888);//不加@,内部自加
proc.Set("@ID", 888);
proc.Set(GetUserList.ID, 888);//枚举方式传递
proc.Set("ID", 888);//不加@,内部自加
proc.Set("@ID", 888);
proc.Set(GetUserList.ID, 888);//枚举方式传递
示例2:
proc.Set(Users.ID, 888,SqlDbType.Int);//比上个示例多加了个参数。
示例3:
proc.Clear();//清除所有Set的参数。
三:方法操作
方法原型:
public MDataTable ExeMDataTable()
public int ExeNonQuery()
public T ExeScalar<T>()
public int ExeNonQuery()
public T ExeScalar<T>()
示例1:
MDataTable table = proc.ExeMDataTable();//执行返回MDataTable
示例2:
int result = proc.ExeNonQuery();//添加、更新、删除操作,返回受影响的行数。
示例3:
string result = proc.ExeScalar<string>();//执行语句,返回首行首列的值。
四:返回值与链接关闭
方法原型:
public int ReturnValue
public void Close()
public int ReturnValue
public void Close()
示例1:
MDataTable table= proc.ExeMDataTable();
int value = proc.ReturnValue;//执行的如果是存储过程,取返回值,通过是记录总数。
int value = proc.ReturnValue;//执行的如果是存储过程,取返回值,通过是记录总数。
示例:
MProc proc = new MProc("GetUserList");
MDataTable table= proc.ExeMDataTable();
int value = proc.ReturnValue;
proc.Close();//执行完后关闭数据库链接
MDataTable table= proc.ExeMDataTable();
int value = proc.ReturnValue;
proc.Close();//执行完后关闭数据库链接
五:一个完整示例
示例:

使用示例:
实例化: MProc proc = new MProc(ProcNames.GetList);
添加参数:proc.Set(GetList.ID, 10);
获取列表:MDataTable table = proc.ExeMDataTable();
实例化: MProc proc = new MProc(ProcNames.GetList);
添加参数:proc.Set(GetList.ID, 10);
获取列表:MDataTable table = proc.ExeMDataTable();
取返回值:int count=proc.ReturnValue;
关闭链接:proc.Close();
绑定控件:GridView1.DataSource = table;
GridView1.DataBind();
关闭链接:proc.Close();
绑定控件:GridView1.DataSource = table;
GridView1.DataBind();
结言:
通过本节介绍,掌握使用MProc处理存储过程操作。
一些特别的自定的SQL语句操作也可以操作[需要V1.5及以上版本支持]。
一些特别的自定的SQL语句操作也可以操作[需要V1.5及以上版本支持]。
本使用篇教程到此结束,下面紧跟着会开源V1.4版本,敬请关注。
同时若引起起相关教程需要升级,会续篇介绍。
版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。 |
个人微信公众号![]() |
Donation(扫码支持作者):支付宝:![]() |
Donation(扫码支持作者):微信:![]() |
![]() |
分类:
CYQ.Data V4系列
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)