• 粗俗易懂的SQL存储过程在.NET中的实例运用


    整理了一下存储过程在项目中的运用,防止遗忘,便记录于此!存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。总的来说,存储过程具有以下一些优点:

    ◆存储过程允许标准组件式编程

    ◆存储过程能够实现较快的执行速度

    ◆存储过程能够减少网络流量

    ◆存储过程可被作为一种安全机制来充分利用

    本文作者将向大家介绍.NET数据库应用程序中存储过程的应用,以及如何将它与ADO.NET中的SqlDataAdapter对象、DataSet对象等结合使用以提高.NET数据库应用程序的总体性能。

    创建一个简单的存储过程

    1.不带参数的查询的存储过程

    CREATE PROC [dbo].[SelectUsers]

    AS

    begin

    SELECT * from dbo.FMS_Users

    end

    执行下一句即可得到结果:

    exec SelectUsers

    创建以上存储过程后,保存之。保存完毕,与该存储过程相对应的节点就会出现在服务器资源管理器中。同时请注意代码编辑窗口中的CREATE关键字变为ALTER关键字了,该关键字是用于更改任何现有的存储过程的。要运行上述存储过程,只要点击其节点并在右键弹出菜单中 执行存储过程”,运行的结果图示如下:

    好了 接下来在IDE环境中去调用:

    写一个方法在合适的地方调用即可

    01 private void Stroedprocedure() 

    02         { 

    03             string con=System.Configuration.ConfigurationManager.ConnectionStrings["consql"].ToString(); 

    04             SqlConnection conn=new SqlConnection(con); 

    05             conn.Open(); 

    06             //相应的存储过程名称及数据库连接 

    07             SqlCommand cmd = new SqlCommand("SelectUsers",conn); 

    08             // cmd.CommandType = CommandType.StoredProcedure; 

    09             //cmd.CommandText = "SelectUsers"; 

    10             //cmd.Connection = conn; 

    11             SqlDataAdapter da = new SqlDataAdapter(); 

    12             da.SelectCommand = cmd; 

    13             DataTable ds = new DataTable(); 

    14             da.Fill(ds); 

    15               

    16             GridView1.DataSource = ds; 

    17             GridView1.DataBind(); 

    18              

    19   

    20               

    21         }

    ok 已经完成了无参数的存储过程的实例调用!

    第二有参数的存储过程的调用 (道理一样)

    创建存储过程语句

    create proc [dbo].[SelectParUsers]

    (

      @id int

    )

    as

    begin

    select * from dbo.FMS_Users where userId=@id

    end

    执行以下语句即可得到结果

     exec SelectParUsers 22

    通过某一个ID查找数据

    01 private static DataTable Stroedprocedure(int id) 

    02         { 

    03 www.2cto.com           string con=System.Configuration.ConfigurationManager.ConnectionStrings["consql"].ToString(); 

    04             SqlConnection conn=new SqlConnection(con); 

    05             conn.Open(); 

    06           SqlCommand cmd = new SqlCommand("SelectParUsers", conn); 

    07             cmd.CommandType = CommandType.StoredProcedure; 

    08             //cmd.CommandText = "SelectParUsers"; 

    09             //cmd.Connection = conn; 

    10             SqlDataAdapter da = new SqlDataAdapter(cmd); 

    11             cmd.Parameters.Add("@id", SqlDbType.Int, 32).Value = id; 

    12             //SqlDataAdapter da = new SqlDataAdapter(cmd); 

    13             //da.SelectCommand = cmd; 

    14             DataTable ds = new DataTable(); 

    15             da.Fill(ds); 

    16               

    17              return  ds            

    18   

    19               

    20         }

  • 相关阅读:
    mongodb的aggregate聚合操作详解
    2013, Lost connection to MySQL server during query
    事务失败的重试策略
    mongodb的shell脚本
    mongodb的currentOp
    mongodb插入数据
    Too many threads are already waiting
    connection timed out
    python3-request.session 的使用
    intellij-永久破解最新版本idea 2020.3.1
  • 原文地址:https://www.cnblogs.com/minghualiyan/p/3596311.html
Copyright © 2020-2023  润新知