为了账号安全,请及时绑定邮箱和手机立即绑定

存储过程参数封装的问题 没什么豆 大侠帮忙看下吧 没怎么搞过这个

存储过程参数封装的问题 没什么豆 大侠帮忙看下吧 没怎么搞过这个

交互式爱情 2018-12-06 17:42:55
代码: public bool RunProcedure(string procedureName,string "参数") { SqlConnection _con = new SqlConnection(con); SqlCommand comm = new SqlCommand(procedureName, _con); try { _con.Open(); comm.CommandType = CommandType.StoredProcedure; comm.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar)); comm.Parameters["@name"].Value = 4; comm.Parameters.Add(new SqlParameter("@age", SqlDbType.VarChar)); comm.Parameters["@age"].Value = 4; comm.Parameters.Add(new SqlParameter("@sex", SqlDbType.VarChar)); comm.Parameters["@sex"].Value = 4; comm.Parameters.Add(new SqlParameter("@address", SqlDbType.VarChar)); comm.Parameters["@address"].Value = 4; int result = comm.ExecuteNonQuery(); if (result > 0) { return true; } return false; } catch (Exception ex) { throw ex; } finally { _con.Dispose(); _con.Close(); } } 中间的这个红色字体的: comm.Parameters.Add 里面参数都是写死的 我希望的是能写成变量 是我调用的时候传递的变量 ,这个方法怎么封装啊?大侠们明白我的意思吗? 这个写法行吗?我在网上看的 SqlConnection conn = new SqlConnection(connectionstring); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText ="NameOfProcedure(’para1’,’para2’,para3)"; da.Selectcommand.CommandType = CommandType.StoredProcedure; para1 para2 para3 就是变量
查看完整描述

2 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

你直接根据类型,拼sql语句得了。

一般可以把DbParameter数组作为参数传递,这样就不需要在函数内部去拼接了。

查看完整回答
反对 回复 2019-01-07
  • 2 回答
  • 0 关注
  • 485 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信