新存储过程

存储过程
将常用的或很复杂的工作,预先用sql语句写好并用一个指定的名称存储起来,以后要数据库提供与已定义号的存储过程的功能相同的服务时,只需调用 ececute.即可自动完成命令.
优点:
相行速度快,允许模块化程序设计,提高系统安全,减少网络流量
种类:
1,系统存储过程:以sp_开头用来进行系统的各项设定.取得信息,相关管理工作
2,扩展存储过程:取得指定对象的相关信息.
3,用户自定义的存储过程
实例:
1.
--创建一个输入参数的存储过程

表 y 内容 :
divid     name   topmenu
create procedure y
@divid varchar(50)--定义一个输入的参数
@name varchar(50)--定义二数入的参数
@topmenu int
as
select * from y where id = @divid  and
 name=@name and
topmenu=@topmenu--要求Id列与输入参数相等
--执行 y 的存储过程 execute y '1', '2','3'
execute  y '4','5','6'   -- 表示参数

 创建存储过程

use adg --数据库

go
create procedure asd--存储过程名
@id int
as
select * from adgs where id=@id--执行语句
go
exec asd'1'--查询

vs调用

        int aa = Convert.ToInt32(TextBox1.Text);//输入一个值
        SqlConnection con = new SqlConnection(@"server=.\SQLEXPRESS;database=adg;user id=sa;pwd=sa;");//连接数据库
        SqlDataAdapter str = new SqlDataAdapter("asd", con);//获取asd存储过程名
        SqlParameter parao = new SqlParameter("@id", aa);//获取值
        str.SelectCommand.Parameters.Add(parao);
        str.SelectCommand.CommandType = CommandType.StoredProcedure;//类型,
        try
        {
            DataSet ds = new DataSet();//绑定数据
            str.Fill(ds);
            GridView1.DataSource = ds;
            GridView1.DataBind();

            //显示
        }
        catch
        {
            Response.Write("没有该编号");
        }

posted @ 2010-11-03 12:32  初学软件  阅读(176)  评论(0编辑  收藏  举报