asp.net 自己封装数据库操作一个类中一个自定义方法Execute(),非常实用,省去了麻烦的中间过程,动态参数
2013-05-09 22:43
996 查看
此方法用于执行数据库命令
public Object Execute(string[] prams, string cmdType)
此方法可以执行四种常用的增删改查的sql数据库命令
调用示例:
string[] prams = {"select * from Table1 where id=@id", "id", id }; //格式为:{sql命令,参数键,参数值} (其中参数键,参数值可以为空)
string cmdType = "select";
Dataset ds = Execute(prams, cmdType);
prams:string数组,格式:{sql命令,参数键,参数值} (其中参数键,参数值可以为空)
cmdType: 包括四种值"insert","delete","update","select"
返回值为一个Object对象,所以使用此方法的返回值时需要进行强制转换
public Object Execute(string[] prams, string cmdType)
此方法可以执行四种常用的增删改查的sql数据库命令
调用示例:
string[] prams = {"select * from Table1 where id=@id", "id", id }; //格式为:{sql命令,参数键,参数值} (其中参数键,参数值可以为空)
string cmdType = "select";
Dataset ds = Execute(prams, cmdType);
prams:string数组,格式:{sql命令,参数键,参数值} (其中参数键,参数值可以为空)
cmdType: 包括四种值"insert","delete","update","select"
返回值为一个Object对象,所以使用此方法的返回值时需要进行强制转换
public Object Execute(string[] prams, string cmdType) { this.Open(); //一条语句无参数 if (cmdType == "select") { //select语句 返回DataSet if (prams.Length == 1) { string cmd = prams[0]; DataSet ds = new DataSet(); SqlDataAdapter dap = new SqlDataAdapter(cmd, con); dap.Fill(ds); this.Close(); return ds; } else { //sql带参数命令 string cmd = prams[0]; //获取临界数组下表 int paramMid = (prams.Length - 1) / 2; string[] PramsKey = new string[100]; string[] PramsValue = new string[100]; //获取参数键 for (int i = 1,j = 0; i <= paramMid; i++,j++) { PramsKey[j] = prams[i]; } for (int i = paramMid + 1,j=0; i <= prams.Length-1; i++,j++) { PramsValue[j] = prams[i]; } SqlCommand sqlCmd = con.CreateCommand(); sqlCmd.CommandText = cmd; for (int i = 0; i < paramMid; i++) { sqlCmd.Parameters.Add(new SqlParameter(PramsKey[i], PramsValue[i])); } SqlDataAdapter dap = new SqlDataAdapter(sqlCmd); DataSet ds = new DataSet(); dap.Fill(ds); this.Close(); return ds; } } //sql插入命令,返回影响的行数 //sql更新命令,返回影响的行数 //sql删除命令,返回影响的行数 if (cmdType == "insert" || cmdType == "update" || cmdType == "delete") { //sql命令无参数 if (prams.Length == 1) { SqlCommand cmd = con.CreateCommand(); cmd.CommandText = prams[0]; int num = cmd.ExecuteNonQuery(); this.Close(); return num; } //sql命令有参数 else { //sql带参数命令 SqlCommand cmd = con.CreateCommand(); cmd.CommandText = prams[0]; //数组下表临界值 int paramMid = (prams.Length - 1) / 2; string[] paramKey = new string[100]; string[] paramValue = new string[100]; //获取键 for (int i = 1, j = 0; i <= paramMid; i++, j++) { paramKey[j] = prams[i]; } //cmd.Parameters.Clear(); //获取值 for (int i = paramMid + 1, j = 0; i <= prams.Length - 1; i++, j++) { paramValue[j] = prams[i]; } //添加参数 for (int i = 0; i < paramMid; i++) { cmd.Parameters.Add(new SqlParameter(paramKey[i], paramValue[i])); } int num = cmd.ExecuteNonQuery(); //cmd.Parameters.Clear(); this.Close(); return num; } } this.Close(); return null; }
相关文章推荐
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- asp.net使用参数(parameters)的方法执行数据库操作例子
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- 用 JavaScript 写 ASP,似乎很爽啊,自己封装了一个 操作数据库 分页 以及 文件操作的函数
- 自己封装的一个ASP.NET上传文件的方法
- 一个ASP.NET的MYSQL的数据库操作类自己封装的
- 一个ASP.NET的MYSQL的数据库操作类自己封装的
- [C#] 自己封装的一个数据库访问类 让ado.net 用起来和ado一样
- .net mssql自己封装的 备份/还原 数据库方法
- 一个利用ADO.net操作数据库很好的操作封装
- 一个数据库查询方法(可以动态设置查询参数,设置查询条件),很巧妙的组合sql语句
- 自己写的asp.net网站在URL传值过程中隐藏真正值的方法
- [C#] 自己封装的一个数据库访问类 让ado.net 用起来和ado一样
- asp.net 操作带输入输出参数的分页存储过程(二)
- [C#] 自己封装的一个数据库访问类 让ado.net 用起来和ado一样
- 自己写的一个asp.net的生成曲线图的过程
- ASP.NET中如何在前端ASP里面调用一个后台方法并传入参数
- 自己封装的ASP.NET的MYSQL的数据库操作类
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证