• ADO.NET访问SQL Server调用存储过程带回参


    1,ADO.NET访问SQL Server调用存储过程带回参
    2,DatabaseDesign 
    use northwind
    go
    --存储过程1
    --插入一条商品 productname=芹菜 unitprice=2.3
    create proc p_insert
        @productname varchar(40),
        @unitprice money
    as
    insert products(productname,unitprice) 
    values(@productname,@unitprice)
    go
    --执行
    exec p_insert '芹菜',2.3
    
    --存储过程2
    --查全部商品
    create proc p_selectall
    as
    select * from products
    go
    --执行
    exec p_selectall
    
    --存储过程3
    --根据商品编号=1,商品名称和单价
    create proc p_selectbyid
        @productid int,    --入参
        @productname varchar(40) output,--出参
        @unitprice money output --出参
    as
    select @productname=productname,@unitprice=unitprice from products where productid=@productid
    
    --执行
    declare @name varchar(40)
    declare @price money
    exec p_selectbyid @productname=@name output, @unitprice=@price output, @productid=1
    select @name,@price
    3,Code

     3.1,Program.cs

    View Code
    using System;
    
    using System.Data.SqlClient;
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
    
               ////测试存储过程1
               // SqlConnection con = new Com.Myt.DB.DBConnection().Con;
               // SqlCommand com = con.CreateCommand();
    
               // com.CommandText = "usp_insert";
               // com.CommandType = System.Data.CommandType.StoredProcedure;//命令的类型是储存过程
               // com.Parameters.Add(new SqlParameter("@productname", "苹果"));
               // com.Parameters.Add(new SqlParameter("@unitprice", 200));
    
               // con.Open();
               // int count= com.ExecuteNonQuery();
    
               // con.Close();
               // Console.WriteLine("一共影响了"+count+"行");
    
    
                ////存储过程2,测试返回结果集
                //SqlConnection con = new Com.Myt.DB.DBConnection().Con;
                //SqlCommand com = con.CreateCommand();
    
                //com.CommandText = "usp_selectall";
                //com.CommandType = System.Data.CommandType.StoredProcedure;
    
                //con.Open();
                //SqlDataReader sdr = com.ExecuteReader();
                //while (sdr.Read())
                //{
    
                //    Console.WriteLine(sdr.GetString(0)+"	"+sdr.GetDecimal(1));
                //}
    
                //com.Clone();
    
    
                //存储过程3,测试输出参数
                //已知商品编号,查名称和单价
                SqlConnection con = new Com.Myt.DB.DBConnection().Con;
                SqlCommand com = con.CreateCommand();
    
                com.CommandText = "usp_selectbyid";
                com.CommandType = System.Data.CommandType.StoredProcedure;
    
                //配参,注意出参的配置
                //入参
                com.Parameters.Add(new SqlParameter("@productid", 1));
    
                //出参
                SqlParameter p1 = new SqlParameter("@productname", System.Data.SqlDbType.VarChar, 20);
                SqlParameter p2 = new SqlParameter("@unitproduct", System.Data.SqlDbType.Decimal);
                //标明输出方向
                p1.Direction = System.Data.ParameterDirection.Output;
                p2.Direction = System.Data.ParameterDirection.Output;
                com.Parameters.Add(p1);
                com.Parameters.Add(p2);
    
                con.Open();
    
                com.ExecuteNonQuery();
                con.Close();
    
                Console.WriteLine(p1.Value+", "+p2.Value);
            }
        }
    }

    3.2,DBConnection.cs

    4,
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    168. Excel Sheet Column Title
    171. Excel Sheet Column Number
    264. Ugly Number II java solutions
    152. Maximum Product Subarray java solutions
    309. Best Time to Buy and Sell Stock with Cooldown java solutions
    120. Triangle java solutions
    300. Longest Increasing Subsequence java solutions
    63. Unique Paths II java solutions
    221. Maximal Square java solutions
    279. Perfect Squares java solutions
  • 原文地址:https://www.cnblogs.com/ylbtech/p/2851448.html
Copyright © 2020-2023  润新知