C#的关于SQLparameter的问题
privateSqlCommandCreateCommand(stringProcName,SqlParameter[]prams){this.Open();SqlCom...
private SqlCommand CreateCommand(string ProcName, SqlParameter[] prams)
{
this.Open();
SqlCommand cmd = new SqlCommand(ProcName, con);
cmd.CommandText = CommandType.Text;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
cmd.Parameters.Add(parameter)/*这个Add函数与下面的有什么区别,另把这些参数添加进去有什么用*/;
}
cmd .Parameters .Add (new SqlParameter ("ReturnValue",SqlDbType .Int ,4,ParameterDirection .ReturnValue ,false ,0,0,string.Empty ,DataRowVersion .Default ,null ));
}
return cmd;
} 展开
{
this.Open();
SqlCommand cmd = new SqlCommand(ProcName, con);
cmd.CommandText = CommandType.Text;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
cmd.Parameters.Add(parameter)/*这个Add函数与下面的有什么区别,另把这些参数添加进去有什么用*/;
}
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 parameter());是匿名添加对象.
效果一样,只是下边这种方法省了前边的命名过程.
这种匿名创建,是很多地方通用的.
就好比有一个方法void a(int i);
需要传一个参数,你可以直接 a(k); // int k = 2;
也可以 a(2); 意思是一样的.
而paramter 的作用,英文就是参数,,,他是给查询语添加参数
比如说.有一个语句: "select * from 表1 where uid = @uid";
@uid 就是一个sql参数,但是在C#里表示,就需要用parameter来给参数赋值
有些时候,只能用参数的方法,比如说:
你想把一个图片序列化保存到数据库中.
sql语句: "insert into 表1 values(@img)";
这个时候,是没有人去手动写那个二进制数据的,所以可以用一个 parameter来给这个@img赋值
SqlParameter img = new SqlParameter("@img",SqlDbType.Image);
img.Value = ...;
数据库博大精深,加油!
下边的cmd.parameters.add(new parameter());是匿名添加对象.
效果一样,只是下边这种方法省了前边的命名过程.
这种匿名创建,是很多地方通用的.
就好比有一个方法void a(int i);
需要传一个参数,你可以直接 a(k); // int k = 2;
也可以 a(2); 意思是一样的.
而paramter 的作用,英文就是参数,,,他是给查询语添加参数
比如说.有一个语句: "select * from 表1 where uid = @uid";
@uid 就是一个sql参数,但是在C#里表示,就需要用parameter来给参数赋值
有些时候,只能用参数的方法,比如说:
你想把一个图片序列化保存到数据库中.
sql语句: "insert into 表1 values(@img)";
这个时候,是没有人去手动写那个二进制数据的,所以可以用一个 parameter来给这个@img赋值
SqlParameter img = new SqlParameter("@img",SqlDbType.Image);
img.Value = ...;
数据库博大精深,加油!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询