结合实例谈SqlParameters的使用

来源:互联网 发布:淘宝蚂蚁花呗无法开通 编辑:程序博客网 时间:2024/06/06 03:54

这段时间的绝大部分精力都放在SB英语上了,对计算机的学习自然就少之又少了。不过反过来想想,利用这段闲暇的时间,倒也可以好好的总结一下前面的计算机学习了。自己学到的东西如果不好好总结的话,总是不成体系,也是极容易忘记的。

今天要总结的是SqlParameters的使用方法。它其实也不是什么新的知识,最早我们在做第一个系统时就见过的,只是那时候对它的存在很不在乎罢了。


SqlParameters一共有两种方法。下面就分别将其介绍。

一、Add方法

  • 代码示例该方法每次只能添加一个SqlParameter。代码的功能是将ID值等于1的字段name更新为Pudding(人名)
  • SqlParameter sp = new SqlParameter("@name", "Pudding");cmd.Parameters.Add(sp);sp = new SqlParameter("@ID", "1");cmd.Parameters.Add(sp);
二、AddRange方法
  • 代码示例
  • SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@name", "Pudding"), new SqlParameter("@ID", "1") };cmd.Parameters.AddRange(paras);

  • 显然,Add方法在添加多个SqlParameter时不方便,此时,可以采用AddRange方法。这便是第二种方法的优势所在了。可能上面这个例子需要传递的参数还比较少,大家还不能清楚的体会到它的优势,那么我再拿机房收费系统为例
  • 代码示例
  •  '调用注册卡的信息的存储过程procName = "proc_RegisterCardInfo"paras = New SqlParameter() {New SqlParameter("@ID", enCardInfo.ID),                                    New SqlParameter("@balanceCash", enCardInfo.balanceCash),                                    New SqlParameter("@operateUser", enCardInfo.operateUser),                                    New SqlParameter("@status ", enCardInfo.status),                                    New SqlParameter("@StudentID", enCardInfo.studentID),                                    New SqlParameter("@name", enCardInfo.name),                                    New SqlParameter("@sex", enCardInfo.sex),                                    New SqlParameter("@department", enCardInfo.department),                                    New SqlParameter("@grade", enCardInfo.grade),                                    New SqlParameter("@classes", enCardInfo.classes),                                    New SqlParameter("@rechargeCash", enRechargeInfo.rechargeCash),                                    New SqlParameter("@lastTimeCash", enRechargeInfo.lastTimeCash),                                    New SqlParameter("@currentCash", enRechargeInfo.currentCash),                                    New SqlParameter("@isCheckStutas", enRechargeInfo.isCheckStatus)}res = sqlhelper.ExecuteNonQuery(procName, CommandType.StoredProcedure, paras)
三、输出参数设置
  • 另外这里还想补充点知识,那就是关于输出参数的设置。其实在存储过程中可以有输入参数,输出参数,但是一般输入参数不需要进行属性的设置就可以很好的使用,但是输出参数就会相对麻烦一些了,它需要一些属性的设置,下面将输出参数的设置代码展示如下。
  • 代码示例
  • //设置参数sqlComm.Parameters.Add("@stuId", SqlDbType.VarChar); //注意输出参数要设置大小,否则size默认为0, sqlComm.Parameters.Add("@stuName", SqlDbType.VarChar, 10);//设置参数的类型为输出参数,默认情况下是输入,sqlComm.Parameters["@stuName"].Direction = ParameterDirection.Output; //为参数赋值 sqlComm.Parameters["@stuId"].Value = "1234";

原创粉丝点击