SqlServer建立存储过程,方便.NET插入自增字段
2018-06-18 04:21:51来源:未知 阅读 ()
首先,需要在数据库中创建一个表,以在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 ON GO SET QUOTED_IDENTIFIER ON GO create proc [dbo].[usp_Id] --新建一个存储过程名为usp_Id @tableName nvarchar(50), @id int output as declare @erro int set @erro=0 begin 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");
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:微信JSAPI支付回调
下一篇:C#学习笔记7
- 数据源管理 | Kafka集群环境搭建,消息存储机制详解 2020-06-11
- 数据的存储结构浅析LSM-Tree和B-tree 2020-06-04
- MySQL如何有效的存储IP地址 2020-05-30
- 为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢? 2020-05-06
- 用一张表来存储数据状态,并且可以进行多状态精确查询;使用 2020-04-30
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash