解决方案

mysql idataparameter_小白不坑爹的asp.net SqlParameter和带参数存储过程运用

seo靠我 2023-09-26 01:35:15

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]);

但加时还是要一个一个往里加

数组给参数命名提供了便利,不用想那么多名字

“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2