
这段代码是什么意思,特别是后半部分。请高人给写上备注
publicSqlParameterMakeParam(stringParamName,SqlDbTypeDbType,Int32Size,ParameterDirect...
public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter param;
if (Size > 0)
param = new SqlParameter(ParamName, DbType, Size);
else
param = new SqlParameter(ParamName, DbType);
param.Direction = Direction;
if (!(Direction == ParameterDirection.Output && Value == null))
param.Value = Value;
return param;
} 展开
{
SqlParameter param;
if (Size > 0)
param = new SqlParameter(ParamName, DbType, Size);
else
param = new SqlParameter(ParamName, DbType);
param.Direction = Direction;
if (!(Direction == ParameterDirection.Output && Value == null))
param.Value = Value;
return param;
} 展开
1个回答
展开全部
//制作一个Sql参数
// ParamName 参数名
// SqlDbType 参数的数据类型
// Size 参数的长度
// 参数的输入输出类型 (输入、输出、输入和输出 三种)
// 该参数的值
public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter param; //定义一个Sql参数
if (Size > 0) //如果参数长度大于0 那么在给参数定义时 加上参数的长度
param = new SqlParameter(ParamName, DbType, Size); //new 这个参数 并定义它的参数名、参数类型、参数长度
else //如果参数长度<=0 那么说明该参数不指定长度
param = new SqlParameter(ParamName, DbType); //new 这个参数 并定义它的参数名、参数类型
param.Direction = Direction; //参数的输入输出类型
if (!(Direction == ParameterDirection.Output && Value == null)) //在这里做一个判断 (如果是输出参数 且 value值为null) 结果取反 就说明是 输入参数或输入输出参数 或value值不为空 这种情况下 就为参数赋值
param.Value = Value;
return param; //最后返回这个参数
}
总的来说 这个方法 就是为你定义一个SqlCommand.SqlParameter参数而已 没啥说的
// ParamName 参数名
// SqlDbType 参数的数据类型
// Size 参数的长度
// 参数的输入输出类型 (输入、输出、输入和输出 三种)
// 该参数的值
public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter param; //定义一个Sql参数
if (Size > 0) //如果参数长度大于0 那么在给参数定义时 加上参数的长度
param = new SqlParameter(ParamName, DbType, Size); //new 这个参数 并定义它的参数名、参数类型、参数长度
else //如果参数长度<=0 那么说明该参数不指定长度
param = new SqlParameter(ParamName, DbType); //new 这个参数 并定义它的参数名、参数类型
param.Direction = Direction; //参数的输入输出类型
if (!(Direction == ParameterDirection.Output && Value == null)) //在这里做一个判断 (如果是输出参数 且 value值为null) 结果取反 就说明是 输入参数或输入输出参数 或value值不为空 这种情况下 就为参数赋值
param.Value = Value;
return param; //最后返回这个参数
}
总的来说 这个方法 就是为你定义一个SqlCommand.SqlParameter参数而已 没啥说的
更多追问追答
追问
高手。。。那输入和输出参数 在用的时候有什么不同。
追答
输入呢 就是说
比如 我写一个sql语句:
select * from users where id=@id
像这样的情况 这个参数id就需要输入
也许你以前在SqlCommand的sql命令时 是这样写的
string id = "1";
"select * from Users where id='+id+'"
但这样会有风险 容易造成sql注入 所以才会出现参数化的形式
像我写的第一句sql 就是将@id 作为参数 需要传入进去
而输出参数呢 就比如
select @Count=count(*) from users group by Type
像这样 有个参数@Count 就是在sql语句中得到一个结果 可以对这个结果进行输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询