• asp.net中怎样调用存储过程和存储过程的写法(转载,留着自己看)


    asp.net中怎样调用存储过程和存储过程的写法

    创建一个只有输入参数的存储过程

    create procedure proc_user
    @name varchar(20),
    @Password varchar(100)
    as 
    select * from loginuser 
    where name like @name

    ---创建一个有输入和输出参数的存储过程

    create procedure proc_usertext
    @name varchar(20),
    @blog varchar(100) output
    as 
    select @blog = blog from loginuser where name = @name

    ---创建一个有输入和返回参数的存储过程

    create PROCEDURE returnval 
     @name varchar(100),
     @blog varchar(100) output
    AS
           begin
           select @blog = blog from loginuser where name = @name 
           if(@blog is null)
              set @blog = ''你还没有申请博客''
           return execute(@blog )  --数据数型的转换
           end

    在asp.net中的调用

    protected void Page_Load(object sender, EventArgs e)
        {
            DataBind();
        }

        private void DataBind()
        {
            //只带输入参数的存储过程的写法。
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
            SqlCommand cmd = new SqlCommand("proc_user", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@name", "l%");
            cmd.Parameters.AddWithValue("@Password", "lcs9702");
            con.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            DropDownList1.DataSource = dr;
            DropDownList1.DataTextField = "name";
            DropDownList1.DataValueField = "use_id";
            DropDownList1.DataBind();
        }

        private void textDataBind()
        {
            //带输入,输出参数的存储过程的写法。
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
            SqlCommand cmd = new SqlCommand("proc_usertext", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@name", "love");
            cmd.Parameters.Add("@blog", SqlDbType.VarChar,100);
            cmd.Parameters["@blog"].Direction = ParameterDirection.Output;
            //cmd.Parameters.Add(new SqlParameter("@blog",SqlDbType.VarChar,100,ParameterDirection.Output,false,0,0,string.Empty,DataRowVersion.Default,null));
            cmd.CommandType = CommandType.StoredProcedure;
            con.Open();
            cmd.ExecuteNonQuery();
            TextBox1.Text = cmd.Parameters["@blog"].Value.ToString();
            con.Close();

        }

        private void returnDataBind()
        {
            //带输入,返回参数的存储过程的写法。
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
            SqlCommand cmd = new SqlCommand("returnval", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@name", "lcs9702");
            cmd.Parameters.Add(new SqlParameter("@blog", SqlDbType.VarChar, 100, ParameterDirection.Output, false, 0, 0, string.Empty, DataRowVersion.Default, null));
            cmd.CommandType = CommandType.StoredProcedure;
            con.Open();
            cmd.ExecuteNonQuery();
            TextBox2.Text = cmd.Parameters["@blog"].Value.ToString();
            con.Close();
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            textDataBind();
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            returnDataBind();
        }

  • 相关阅读:
    Linux下Java安装与配置
    HYSPLIT模式简介及在线平台使用
    HYSPLIT模式简介及单机版使用图文教程
    有关气象类资料数据下载网址
    Excel图表编程应用大全(2):图表编程基础
    当装系统时遇到“选中的磁盘采用GPT分区形式”
    SQL函数
    Centos6.7 Redis3.2.8的主从搭建
    Centos 6.7 中 Redis-3.2.8的安装
    Mysql innodb_buffer_pool_size的研究
  • 原文地址:https://www.cnblogs.com/-zda/p/4863960.html
Copyright © 2020-2023  润新知