IDataParameter[]是SqlParameter[]的接口实例,2种方式的作用是一样的
sqlParameter的构造函数
SqlParameter () 初始化 SqlParameter 类的SEO靠我新实例。
由 .NET Compact Framework 支持。
SqlParameter (String, Object) 用参数名称和新
SqlParameter 的一个值初始化 SqlParametSEO靠我er 类的新实例。
由 .NET Compact Framework 支持。
SqlParameter (String, SqlDbType) 用参数名称和数据类型初始化
SqlParameter 类的新实SEO靠我例。
由 .NET Compact Framework 支持。
SqlParameter (String, SqlDbType, Int32) 用参数名称、SqlDbType 和大小初始化 SqlParaSEO靠我meter 类的新实例。
由 .NET Compact Framework 支持。
SqlParameter (String, SqlDbType, Int32, String) 用参数名称、SqlDbTSEO靠我ype、大小和源列名称初始化 SqlParameter 类的新实例。
由 .NET Compact Framework 支持。
SqlParameter (String, SqlDbType, Int32SEO靠我, ParameterDirection,
Boolean, Byte, Byte, String, DataRowVersion,
Object) 用参数名称、参数的类型、参数的大小、ParameterSEO靠我Direction、参数的精度、参数的小数位数、源列、要使用的
DataRowVersion 和参数的值初始化 SqlParameter 类的新实例。
由 .NET Compact Framework 支SEO靠我持。
SqlParameter (String, SqlDbType, Int32, ParameterDirection, Byte,
Byte, String, DataRowVersion, BooSEO靠我lean, Object, String, String,
String) 初始化 SqlParameter
类的一个新实例,该类使用参数名、参数的类型、参数的长度、方向、精度、小数位数、源列名称、DatSEO靠我aRowVersion
值之一、用于源列映射的布尔值、SqlParameter 的值、此 XML 实例的架构集合所在的数据库的名称、此 XML
实例的架构集合所在的关系架构以及此参数的架构集合的名称。
其中SEO靠我Int32说的是这个参数类型所占空间的大小,以字节为单位
4和30一般对应的数据库的大小,整型大多是4个字节,如果不写也可以,系统将采用该类型所占最大空间。
白叔完整例子
protected void
ButSEO靠我ton1_Click(object sender, EventArgs e)
{
if (TextBox1.Text != null)
{
String sqlstr = "insert into mytesSEO靠我t(newstitle)
values(@title)";
String connectionString = "Data
Source=(local);uid=sa;pwd=tjfsu;database=SEO靠我mysite";
SqlConnection mySqlConnection = new
SqlConnection(connectionString);
SqlCommand cmd = new SqlCSEO靠我ommand();
// 设置sql连接
cmd.Connection = mySqlConnection;
cmd.CommandText = sqlstr;
SqlParameter para1 = neSEO靠我w SqlParameter("@title",
SqlDbType.VarChar);
para1.Value = TextBox1.Text;
cmd.Parameters.Add(para1);
mySSEO靠我qlConnection.Open();
cmd.ExecuteNonQuery();
mySqlConnection.Close();
}
}
sql字符串书写时先用 @参数名 占位,cmd.CommandTSEO靠我ext =
sqlstr;插进SqlCommand,然后再用SqlParameter把它补充完整。
para1.Value = TextBox1.Text; 参数赋值
cmd.Parameters.Add(SEO靠我para1); 把赋好值的参数插入,替换掉原来占位的@title
拓展这个到存储过程
注意存储过程varchar参数类型一定要写长度,这里没法省,不然报错
USE
mysite
GO
CREATE PROCEDUSEO靠我RE Myaddtitle
@title varchar(200)
AS
insert into mytest(newstitle) values(@title)
GO
建好存储过程然后
protected
voiSEO靠我d Button2_Click(object sender, EventArgs e)
{
String connectionString = "Data
Source=(local);uid=sa;pwdSEO靠我=tjfsu;database=mysite";
SqlConnection mySqlConnection = new
SqlConnection(connectionString);
SqlCommanSEO靠我d cmd = new SqlCommand();
// 设置sql连接
cmd.Connection = mySqlConnection;
// 如果执行语句
cmd.CommandText = "MyadSEO靠我dtitle";
// 指定执行语句为存储过程
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter para1 = new SqlParaSEO靠我meter("@title",
SqlDbType.VarChar);
para1.Value = TextBox2.Text;
cmd.Parameters.Add(para1);
mySqlConnectSEO靠我ion.Open();
cmd.ExecuteNonQuery();
mySqlConnection.Close();
}
参数多时也可以用数组
IDataParameter[] paras = { new SSEO靠我qlParameter("@backtitle",
SqlDbType.VarChar),new SqlParameter("@id",SqlDbType.Int) };
paras[0].DirectiSEO靠我on = ParameterDirection.ReturnValue;
paras[1].Value = TextBox3.Text;
cmd.Parameters.Add(paras[0]);
cmd.SEO靠我Parameters.Add(paras[1]);
但加时还是要一个一个往里加
数组给参数命名提供了便利,不用想那么多名字
网站备案号:浙ICP备17034767号-2