博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SqlServer建立存储过程,方便.NET插入自增字段
阅读量:6260 次
发布时间:2019-06-22

本文共 2024 字,大约阅读时间需要 6 分钟。

首先,需要在数据库中创建一个表,以在test数据库创建tableNo表为例:

create table tablesNo(    tableName varchar(30) not null,    --表名    num int not null --行数)

然后在数据库中 --> 可编程性 --> 存储过程 --> 新建存储过程 ,也可以在sql中执行代码如下:

USE [test]        --数据库名GO/****** Object:  StoredProcedure [dbo].[usp_Id]    Script Date: 2017/2/1 星期三 下午 6:48:47 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate  proc [dbo].[usp_Id]        --新建一个存储过程名为usp_Id @tableName nvarchar(50), @id int outputasdeclare @erro intset @erro=0begin transaction  select @id=num+1 from tablesNo where tableName=@tableName  set @erro=@erro+@@ERROR  update tablesNo set num=num+1 where tableName=@tableName  set @erro=@erro+@@ERROR  if(@erro=0)    begin    commit transaction    end   else     begin    rollback transaction     end

其次在.NET中的DAL层创建一个CommonService类,代码如下:

  using System.Data;  

  using System.Data.SqlClient;

public class CommonService                  {        public static int GetId(string tableName)           //存储过程ID        {            int id = 0;            string sql = "usp_Id";            SqlParameter par1 = new SqlParameter("@tableName", tableName);            par1.Direction = ParameterDirection.Input;            SqlParameter par2 = new SqlParameter("@id", SqlDbType.Int);            par2.Direction = ParameterDirection.Output;            SqlConnection con = null;            SqlCommand cmd = null;            try            {                con = SqlHelper.Open();                cmd = new SqlCommand();                cmd.Connection = con;                cmd.CommandText = sql;                cmd.CommandType = CommandType.StoredProcedure;                cmd.Parameters.Add(par1);                cmd.Parameters.Add(par2);                cmd.ExecuteNonQuery();                id = Convert.ToInt32(cmd.Parameters["@id"].Value);            }            catch (SqlException ex)            {            }            finally            {                con.Close();            }            return id;        }    }

应用方法如下:

Id = CommonService.GetId("ClickAccessAmount");  

 

转载地址:http://eohsa.baihongyu.com/

你可能感兴趣的文章
大话nbu三(配置media server存储)
查看>>
【嵌入式】内存管理,虚拟存储
查看>>
Linux多线程实践(2) --线程基本API
查看>>
从BaseActivity与BaseFragment的封装谈起
查看>>
Java Web开发相关连接
查看>>
虚拟机内存中数据细节
查看>>
ZigBee Silicon Labs/Ember EFR32MG/EM357 1.1 总体框架
查看>>
信号结构类的时间开销对比
查看>>
在Ubuntu上部署开源博客系统Blog_mini
查看>>
内部类知识
查看>>
使用 kubeadm 创建一个 kubernetes 集群
查看>>
MYSQL主从同步故障
查看>>
nginx 代理http配置实例
查看>>
阿里巴巴12位科学家发布2018年科技趋势预测
查看>>
开放的即时通信协议Jabber
查看>>
Django 的生命周期
查看>>
菜鸟也玩DNS之配置DNS的MX记录
查看>>
实战操作主机角色转移之清除宕机DC的元数据(三)
查看>>
MySQL实现序列(Sequence)效果以及在Mybatis中如何使用这种策略
查看>>
QTP关键字视图下显示项的相关设置
查看>>