调用存储过程的一些方法
2013-04-08 19:04
417 查看
protected void Button1_Click(object sender, EventArgs e)
{
int number =Convert.ToInt32(TextBox1.Text.ToString().Trim());
int tid =Convert.ToInt32(TextBox2.Text.ToString().Trim());
int k = exec_proc_2(number, tid);
bind();
Response.Write(k.ToString());
}
protected void bind()
{
SqlConnection conn = new SqlConnection("server=(local);database=yiqi;uid=monkey;pwd=donkey");
conn.Open();
SqlCommand cmd = new SqlCommand("proc_3", conn);
cmd.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
public static int exec_proc_2(int number, int tid)
{
SqlConnection conn = new SqlConnection("server=(local);database=yiqi;uid=monkey;pwd=donkey");
conn.Open();
SqlCommand cmd = new SqlCommand("proc_2", conn);//同上
cmd.CommandType = CommandType.StoredProcedure;//同上
cmd.Parameters.Add(new SqlParameter("@result", SqlDbType.Int));//添加一个名为@result的参数,数据类型为SqlDbType.Int
cmd.Parameters["@result"].Direction = ParameterDirection.Output;//将@result参数设置成为接收输出参数
cmd.Parameters.AddWithValue("@number", number);
cmd.Parameters.AddWithValue("@tid", tid);
cmd.ExecuteNonQuery();
int result = (int)cmd.Parameters["@result"].Value;//将输出的Object数据转换成int类型
return result;
}
-----------------------------------------------------------------------------------------------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROC [dbo].[proc_1]
AS
Insert t1(number) Values(200)
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROC [dbo].[proc_2]
@result int output,
@number int,
@tid int
AS
Update t1 Set number=number+@number Where tid=@tid
Select @result=number From t1
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROC [dbo].[proc_3]
AS
select * from t1
--------------------------------------
Create Table Table_1
(
tid int identity(1,1),
number int
)
{
int number =Convert.ToInt32(TextBox1.Text.ToString().Trim());
int tid =Convert.ToInt32(TextBox2.Text.ToString().Trim());
int k = exec_proc_2(number, tid);
bind();
Response.Write(k.ToString());
}
protected void bind()
{
SqlConnection conn = new SqlConnection("server=(local);database=yiqi;uid=monkey;pwd=donkey");
conn.Open();
SqlCommand cmd = new SqlCommand("proc_3", conn);
cmd.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
public static int exec_proc_2(int number, int tid)
{
SqlConnection conn = new SqlConnection("server=(local);database=yiqi;uid=monkey;pwd=donkey");
conn.Open();
SqlCommand cmd = new SqlCommand("proc_2", conn);//同上
cmd.CommandType = CommandType.StoredProcedure;//同上
cmd.Parameters.Add(new SqlParameter("@result", SqlDbType.Int));//添加一个名为@result的参数,数据类型为SqlDbType.Int
cmd.Parameters["@result"].Direction = ParameterDirection.Output;//将@result参数设置成为接收输出参数
cmd.Parameters.AddWithValue("@number", number);
cmd.Parameters.AddWithValue("@tid", tid);
cmd.ExecuteNonQuery();
int result = (int)cmd.Parameters["@result"].Value;//将输出的Object数据转换成int类型
return result;
}
-----------------------------------------------------------------------------------------------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROC [dbo].[proc_1]
AS
Insert t1(number) Values(200)
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROC [dbo].[proc_2]
@result int output,
@number int,
@tid int
AS
Update t1 Set number=number+@number Where tid=@tid
Select @result=number From t1
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROC [dbo].[proc_3]
AS
select * from t1
--------------------------------------
Create Table Table_1
(
tid int identity(1,1),
number int
)
相关文章推荐
- JdbcTemplate调用存储过程的一些方法:
- 动态生成SQL的存储过程,以及调用方法
- SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)
- C#调用mysql存储过程方法
- 轮询程序中使用的各种方法:spring调用;http调用;存储过程调用;
- asp.net中IDataParameter调用存储过程的实现方法
- LPAD在Oracle中和 mssql以及在MySQL中的不同用法 以及调用存储过程方法
- VC调用存储过程的通用方法(ORACLE篇)
- Java对存储过程的调用方法
- IQ存储过程中执行有结果集返回的动态SQL的调用方法
- 存储过程从入门到熟练(多个存储过程完整实例及调用方法)
- VC调用存储过程的通用方法(SQLServer篇)
- 关于存储过程的ADO调用的一些心得(输出参数,返回值)
- VC++ ADO调用存储过程方法
- 由NHibernate调用存储过程产生的一些思考
- java编程调用存储过程中得到新增记录id号的实现方法
- Java对存储过程的调用方法
- 存储过程和SQL语句比较及存储过程在C#中调用方法
- Java调用存储过程的方法
- asp.net实现调用存储过程并带返回值的方法