zoukankan      html  css  js  c++  java
  • 存储过程返回最大标识列

    当我们在插入数据库表中的数据时,常常的要在插入完的同时,还要取出里面最大的标识列的值,然后再插入另一张表,下面方法实现的是当我们插入值时同时取出刚插入的值的标识列作为返回值,返回给函数调用:

      新建一个存储过程:

    CREATE  PROCEDURE Add_New_Dealer      

     @MaxID int = null out--输出参数,供程序使用

    AS INSERT INTO Dealer_Table             

        (Dealer_Title, Dealer_Msg, Link_Man, Is_God, Hits, Link_Tel, Link_Fax, Wang_Zhi, E_Email, Adress, Dealer_Tubiao, Car_ShuLiang, Dai_Shou_Car, Gongsi_Image) VALUES 

     (NULL, NULL, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, NULL)

     SET @MaxID = @@IDENTITY  --这个是记录刚插入时的标记ID,即为自增列的ID

    此存储过程的作用是在我们用户注册的同时,给他开设一个店铺,里面需要的就是新声明一个字段记录最大值。

    下面是c#函数的调用:

      public static string Create_Dealer()    

     {        

     SqlConnection Conn = Cls_Data_Conn.Data_Conn();  

           try       

      {

                SqlCommand cmd = new SqlCommand("Add_New_Dealer", Conn);  //cmd为调用的Add_New_Dealer的存储过程             cmd.CommandType = CommandType.StoredProcedure;        

                     SqlParameter i = new SqlParameter("@MaxID", SqlDbType.VarChar , 50); //新建一个参数,接受插入的列的标记              cmd.Parameters.Add(i);//将标记列添加的参数中       

           i.Direction = ParameterDirection.Output; //说明此参数的输出的方向        

          Conn.Open();         

        string strResult = cmd.ExecuteNonQuery().ToString();      

                string strReturn = i.Value.ToString(); //返回值--方法1  的存储过程中的返回值     

             Conn.Close();             return strReturn;      

       }     

        catch (Exception ey)     

        {         

        Conn.Close();          

       return ey.Message.ToString();   

          }    

     }

  • 相关阅读:
    胡小兔的良心莫队教程:莫队、带修改莫队、树上莫队
    51nod 1290 Counting Diff Pairs | 莫队 树状数组
    Git的简单使用
    使用canvas制作五子棋游戏
    axios的Get和Post方法封装及Node后端接收数据
    mongodb初始化并使用node.js实现mongodb操作封装
    nodeJs实现微信小程序的图片上传
    CSS中text-shadow的几个好看的文字demo及其代码
    博客园自定义样式
    input输入框添加内部图标
  • 原文地址:https://www.cnblogs.com/zhijianliutang/p/2250673.html
Copyright © 2011-2022 走看看