关于SqlParameter[] Params = new SqlParameter[1];请问在这声明一个Sql输入参数数组的作用的什么?

publicboolDeleteByProc(stringXUserID){SqlParameter[]Params=newSqlParameter[1];DataBas... public bool DeleteByProc(string XUserID) {
SqlParameter[] Params = new SqlParameter[1];

DataBase DB = new DataBase(); string strsql = "DELETE FROM Usersmr WHERE UserID = @UserID";
Params[0] = DB.MakeInParam("@UserID", SqlDbType.VarChar, 50, XUserID); //用户编号

int Count = -1;
Count = DB.ProcStr(strsql, Params);
if (Count > 0)
return true;
else return false;
}
int Count = -1;
Count = DB.ProcStr(strsql, Params);
请问为什么 要有这句呢int Count = -1;
Count = DB.ProcStr(strsql, Params);这句代码的意思是返回影响行数的意思吗~~~~谢谢
展开
 我来答
jy007520
2013-02-27
知道答主
回答量:20
采纳率:0%
帮助的人:17.5万
展开全部
ProcStr 貌似是你自己写的DataBase类的方法。
根据你的函数使用 我觉得这个函数的作用是返回满足条件的记录数。
int Count = -1; 是用来判断SQL语句是否执行成功
因为执行DELETE FROM Usersmr WHERE UserID = @UserID 这句SQL的时候
满足条件的记录数可能为0 可能大于0
所以如果Count<0 就表示执行失败。

具体函数的含义要具体看函数的源码了
更多追问追答
追问
太感谢了~~~~
我是一个菜鸟,请问int Count = -1是设置count的初始值吗,我将它写成Count=0或1可以吗~~~~
追答
count的值设成什么应该都不影响你程序运行。

主要你这段程序想要实现的功能是什么
int Count = -1;
Count = DB.ProcStr(strsql, Params);
if (Count > 0)
return true;
else return false;
如果是想区分SQL语句是否执行成功的话,count只能设为负数,否则就达不到效果

SqlParameter[] Params = new SqlParameter[1];
这句的作用应该是控制你SQL中WHERE条件的变量个数

因为你这段程序调用的函数 应该都是自己写的 所以如果要准确回答的话 需要你把对应函数的源码公开。 以上的回答都是根据你的程序逻辑推断的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式