C#高手来,低手就算了,关于ParameterDirection返回值
privateSqlCommandCreateCommand(stringprocName,SqlParameter[]prams){//确认打开连接this.Open(...
private SqlCommand CreateCommand(string procName, SqlParameter[] prams)
{
// 确认打开连接
this.Open();
SqlCommand cmd = new SqlCommand(procName, con);
cmd.CommandType = CommandType.Text; //执行类型:命令文本
// 依次把参数传入命令文本
if (prams != null)
{
foreach (SqlParameter parameter in prams)
cmd.Parameters.Add(parameter);
}
// 加入返回参数
cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
return cmd;
}
不解释,看代码,
// 加入返回参数
cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
这段代码在这个函数里面到底是什么作用,是不是可以去掉? 展开
{
// 确认打开连接
this.Open();
SqlCommand cmd = new SqlCommand(procName, con);
cmd.CommandType = CommandType.Text; //执行类型:命令文本
// 依次把参数传入命令文本
if (prams != null)
{
foreach (SqlParameter parameter in prams)
cmd.Parameters.Add(parameter);
}
// 加入返回参数
cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
return cmd;
}
不解释,看代码,
// 加入返回参数
cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
这段代码在这个函数里面到底是什么作用,是不是可以去掉? 展开
2个回答
展开全部
if (prams != null)
{
foreach (SqlParameter parameter in prams)
cmd.Parameters.Add(parameter);
}
上面 的代码是加入参数,一般来说是用户定义的参数,基本都是输入参数,当然你也可以定义输出参数。
cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
这段代码也是加入参数,但是这个参数的类型是返回值类型(sql参数类型有Input Output InputOutput ReturnValue 四种类型,默认是input型的。)你也可以定义 output型的,但每个sql 执行完成后都会有一个returnvalue型的返回参数,这里new了一个sqlParameter("ReturnValue"参数的名称, SqlDbType.Int参数的类型整型, 4参数的大小4字节,ParameterDirection.ReturnValue参数的类型为ReturnValue型, false是否可空, 0小数点左右二侧的总位数, 0总小数位数,string.Empty 源列的名称, DataRowVersion.Default 自己查,null一个 Object它是 SqlParameter 的值)
如果还不明白,百度我,或者QQ我258365860
如果你不需要 ReturnValue类型的参数,当然可去掉,一般我们都是不加这个参数的。包括微软自己的示例源码一般也不加。除非有用,但一般不用的
{
foreach (SqlParameter parameter in prams)
cmd.Parameters.Add(parameter);
}
上面 的代码是加入参数,一般来说是用户定义的参数,基本都是输入参数,当然你也可以定义输出参数。
cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
这段代码也是加入参数,但是这个参数的类型是返回值类型(sql参数类型有Input Output InputOutput ReturnValue 四种类型,默认是input型的。)你也可以定义 output型的,但每个sql 执行完成后都会有一个returnvalue型的返回参数,这里new了一个sqlParameter("ReturnValue"参数的名称, SqlDbType.Int参数的类型整型, 4参数的大小4字节,ParameterDirection.ReturnValue参数的类型为ReturnValue型, false是否可空, 0小数点左右二侧的总位数, 0总小数位数,string.Empty 源列的名称, DataRowVersion.Default 自己查,null一个 Object它是 SqlParameter 的值)
如果还不明白,百度我,或者QQ我258365860
如果你不需要 ReturnValue类型的参数,当然可去掉,一般我们都是不加这个参数的。包括微软自己的示例源码一般也不加。除非有用,但一般不用的
参考资料: http://msdn.microsoft.com/zh-cn/library/5a10hy4y.aspx
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这也要高手么?
自己回家多看书好么。。问问题也这么挑剔
自己回家多看书好么。。问问题也这么挑剔
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询