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

IDataParameter[]是SqlParameter[]的接口实例,2种方式的作用是一样的

sqlParameter的构造函数

SqlParameter () 初始化 SqlParameter 类的新实例。

由 .NET Compact Framework 支持。

SqlParameter (String, Object) 用参数名称和新

SqlParameter 的一个值初始化 SqlParameter 类的新实例。

由 .NET Compact Framework 支持。

SqlParameter (String, SqlDbType) 用参数名称和数据类型初始化

SqlParameter 类的新实例。

由 .NET Compact Framework 支持。

SqlParameter (String, SqlDbType, Int32) 用参数名称、SqlDbType 和大小初始化 SqlParameter 类的新实例。

由 .NET Compact Framework 支持。

SqlParameter (String, SqlDbType, Int32, String) 用参数名称、SqlDbType、大小和源列名称初始化 SqlParameter 类的新实例。

由 .NET Compact Framework 支持。

SqlParameter (String, SqlDbType, Int32, ParameterDirection,

Boolean, Byte, Byte, String, DataRowVersion,

Object) 用参数名称、参数的类型、参数的大小、ParameterDirection、参数的精度、参数的小数位数、源列、要使用的

DataRowVersion 和参数的值初始化 SqlParameter 类的新实例。

由 .NET Compact Framework 支持。

SqlParameter (String, SqlDbType, Int32, ParameterDirection, Byte,

Byte, String, DataRowVersion, Boolean, Object, String, String,

String) 初始化 SqlParameter

类的一个新实例,该类使用参数名、参数的类型、参数的长度、方向、精度、小数位数、源列名称、DataRowVersion

值之一、用于源列映射的布尔值、SqlParameter 的值、此 XML 实例的架构集合所在的数据库的名称、此 XML

实例的架构集合所在的关系架构以及此参数的架构集合的名称。

其中Int32说的是这个参数类型所占空间的大小,以字节为单位

4和30一般对应的数据库的大小,整型大多是4个字节,如果不写也可以,系统将采用该类型所占最大空间。

白叔完整例子

protected void

Button1_Click(object sender, EventArgs e)

{

if (TextBox1.Text != null)

{

String sqlstr = "insert into mytest(newstitle)

values(@title)";

String connectionString = "Data

Source=(local);uid=sa;pwd=tjfsu;database=mysite";

SqlConnection mySqlConnection = new

SqlConnection(connectionString);

SqlCommand cmd = new SqlCommand();

// 设置sql连接

cmd.Connection = mySqlConnection;

cmd.CommandText = sqlstr;

SqlParameter para1 = new SqlParameter("@title",

SqlDbType.VarChar);

para1.Value = TextBox1.Text;

cmd.Parameters.Add(para1);

mySqlConnection.Open();

cmd.ExecuteNonQuery();

mySqlConnection.Close();

}

}

sql字符串书写时先用 @参数名 占位,cmd.CommandText =

sqlstr;插进SqlCommand,然后再用SqlParameter把它补充完整。

para1.Value = TextBox1.Text; 参数赋值

cmd.Parameters.Add(para1); 把赋好值的参数插入,替换掉原来占位的@title

拓展这个到存储过程

注意存储过程varchar参数类型一定要写长度,这里没法省,不然报错

USE

mysite

GO

CREATE PROCEDURE Myaddtitle

@title varchar(200)

AS

insert into mytest(newstitle) values(@title)

GO

建好存储过程然后

protected

void Button2_Click(object sender, EventArgs e)

{

String connectionString = "Data

Source=(local);uid=sa;pwd=tjfsu;database=mysite";

SqlConnection mySqlConnection = new

SqlConnection(connectionString);

SqlCommand cmd = new SqlCommand();

// 设置sql连接

cmd.Connection = mySqlConnection;

// 如果执行语句

cmd.CommandText = "Myaddtitle";

// 指定执行语句为存储过程

cmd.CommandType = CommandType.StoredProcedure;

SqlParameter para1 = new SqlParameter("@title",

SqlDbType.VarChar);

para1.Value = TextBox2.Text;

cmd.Parameters.Add(para1);

mySqlConnection.Open();

cmd.ExecuteNonQuery();

mySqlConnection.Close();

}

参数多时也可以用数组

IDataParameter[] paras = { new SqlParameter("@backtitle",

SqlDbType.VarChar),new SqlParameter("@id",SqlDbType.Int) };

paras[0].Direction = ParameterDirection.ReturnValue;

paras[1].Value = TextBox3.Text;

cmd.Parameters.Add(paras[0]);

cmd.Parameters.Add(paras[1]);

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值