在C#中使用SQL存储过程说明
2007-03-04 00:04
253 查看
一、表的创建sql语句:
CREATE TABLE [tree] (
[node_id] [int] NOT NULL ,
[node_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[pat_id] [int] NULL ,
[url] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[icon] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[memo] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [tree_pk] PRIMARY KEY CLUSTERED
(
[node_id]
) ON [PRIMARY]
) ON [PRIMARY]
GO
二、创建一个有输入、输出、返回值参数的存储过程:
create proc proc_out @uid int,@output varchar(200) output
as
--select结果集
select * from tree where node_id>@uid
--对输出参数进行赋值
set @output='记录总数:'+convert(varchar(10),(select count(*) from tree))
--使用return,给存储过程一个返回值。
return 200;
go
三、在C#中,操作存储过程:
[b] 3.1 使用带有参数的sql语句
private void sql_param()
3.2 存储过程的使用标准版
private void sql_proc()
private void sql_jyh()
create proc proc_out2 @uid int,@patid int,@output varchar(200) output
as
--select结果集
select * from tree where node_id>@uid and pat_id = @patid
--对输出参数进行赋值
set @output='记录总数:'+convert(varchar(10),(select count(*) from tree))
--使用return,给存储过程一个返回值。
return 200;
go
private void More()
{
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=sa;database=sms");
string sql = "proc_out2";
SqlCommand cmd = new SqlCommand(sql, conn);
//把Command执行类型改为存储过程方式,默认为Text。
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@uid",SqlDbType.Int).Value = 1 ;
cmd.Parameters.Add("@patid", SqlDbType.Int).Value = 1;
cmd.Parameters.Add("@output", SqlDbType.VarChar, 100);
cmd.Parameters["@output"].Direction = ParameterDirection.Output;
//cmd.Parameters.Add(new SqlParameter("@uid", SqlDbType.Int)).Value = 1;//"A1**";
//cmd.Parameters.Add(new SqlParameter("@patid", SqlDbType.Int)).Value = 1; //"A2**";
//SqlParameter param = new SqlParameter("@output", SqlDbType.VarChar, 88);
//param.Direction = ParameterDirection.Output;
// cmd.Parameters.Add(param);
//cmd.ExecuteNonQuery();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
string rtnstr = cmd.Parameters["@output"].Value.ToString();
Response.Write("打印输出参数:" + rtnstr);
this.Dgd_student.DataSource = ds;
this.Dgd_student.DataBind();
}
[/b]
CREATE TABLE [tree] (
[node_id] [int] NOT NULL ,
[node_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[pat_id] [int] NULL ,
[url] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[icon] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[memo] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [tree_pk] PRIMARY KEY CLUSTERED
(
[node_id]
) ON [PRIMARY]
) ON [PRIMARY]
GO
二、创建一个有输入、输出、返回值参数的存储过程:
create proc proc_out @uid int,@output varchar(200) output
as
--select结果集
select * from tree where node_id>@uid
--对输出参数进行赋值
set @output='记录总数:'+convert(varchar(10),(select count(*) from tree))
--使用return,给存储过程一个返回值。
return 200;
go
三、在C#中,操作存储过程:
[b] 3.1 使用带有参数的sql语句
private void sql_param()
3.2 存储过程的使用标准版
private void sql_proc()
private void sql_jyh()
create proc proc_out2 @uid int,@patid int,@output varchar(200) output
as
--select结果集
select * from tree where node_id>@uid and pat_id = @patid
--对输出参数进行赋值
set @output='记录总数:'+convert(varchar(10),(select count(*) from tree))
--使用return,给存储过程一个返回值。
return 200;
go
private void More()
{
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=sa;database=sms");
string sql = "proc_out2";
SqlCommand cmd = new SqlCommand(sql, conn);
//把Command执行类型改为存储过程方式,默认为Text。
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@uid",SqlDbType.Int).Value = 1 ;
cmd.Parameters.Add("@patid", SqlDbType.Int).Value = 1;
cmd.Parameters.Add("@output", SqlDbType.VarChar, 100);
cmd.Parameters["@output"].Direction = ParameterDirection.Output;
//cmd.Parameters.Add(new SqlParameter("@uid", SqlDbType.Int)).Value = 1;//"A1**";
//cmd.Parameters.Add(new SqlParameter("@patid", SqlDbType.Int)).Value = 1; //"A2**";
//SqlParameter param = new SqlParameter("@output", SqlDbType.VarChar, 88);
//param.Direction = ParameterDirection.Output;
// cmd.Parameters.Add(param);
//cmd.ExecuteNonQuery();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
string rtnstr = cmd.Parameters["@output"].Value.ToString();
Response.Write("打印输出参数:" + rtnstr);
this.Dgd_student.DataSource = ds;
this.Dgd_student.DataBind();
}
[/b]
相关文章推荐
- C#中使用SQL存储过程说明
- C#中使用SQL存储过程说明
- C#中使用SQL存储过程说明
- 在C#中使用SQL存储过程说明
- 在C#中使用SQL存储过程说明
- C#中使用SQL存储过程说明
- 在C#中使用SQL存储过程说明
- 举例说明如何在C#中使用C/C++写的DLL
- C# SetCursorPos简介及使用说明
- C# Hashtable 使用说明 以及 Hashtable和HashMap的区别[转]
- 试说明在C#中Delegate类的使用
- 【C#】String 格式化使用说明
- C# SetCursorPos简介及使用说明
- C# LiveUpdate.exe实现文件在线更新(原理说明,使用指南一)
- C# string.Format 格式化使用说明
- 通过一段代码说明C#中rel与out的使用区别
- C#中SQL Server数据库连接池使用及连接字符串部分关键字使用说明
- 如何在C#的AboutBox的说明栏使用换行(即程序集信息的说明栏)
- 以实例说明如何使用C#从数据库中提取数据,按要求自动生成定制的Excel表格?[转]
- 关于c#中DateTime::ParseExact的使用说明