sql语句增加、查找、更新存储过程(包括后台.net 调用)
2016-08-05 16:00
597 查看
1、创建表purchaseRq
CREATE TABLE [dbo].[purchaseRq](
[sId] [int] IDENTITY(1,1) NOT NULL,
[pName] [nvarchar](50) NULL,
[pSpecifications] [nvarchar](50) NULL,
[pUnit] [nvarchar](50) NULL,
[pCount] [int] NULL,
[pApplicants] [nvarchar](50) NULL,
[pDepartment] [nvarchar](50) NULL,
[pAppDate] [datetime] NULL,
[pReviewer] [nvarchar](50) NULL,
[pReDate] [datetime] NULL,
[pReStatus] [nvarchar](50) NULL,
[pRemark] [nvarchar](max) NULL,
CONSTRAINT [PK_purchaseRq] PRIMARY KEY CLUSTERED
(
[sId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
2、存储过程:proc_getPurchaseRq
use [ERP]
go
if (exists (select * from sys.objects where name = 'proc_getPurchaseRq'))
drop proc proc_getPurchaseRq
go
create proc proc_getPurchaseRq
@sId int, --默认输入参数
@pName varchar(50), --输入参数
@pSpecifications varchar(50),--输入参数
@pUnit varchar(50),--输入参数
@pCount int,--输入参数
@pApplicants varchar(50),
@pDepartment varchar(50),
@pAppDate datetime,
@pReviewer varchar(50),
@pReDate datetime,
@pReStatus varchar(50),
@pRemark varchar(Max)
as
if @sId=0 /*如果是0说明就当查询select*/
begin
select sId,pName,pSpecifications,pUnit,pCount,pApplicants,pDepartment,pAppDate,pReviewer,pReDate,pReStatus,pRemark from purchaseRq order by sId asc
end
else if @sId=-1/*如果是-1说明就当插入insert*/
begin
insert into purchaseRq values (@pName,@pSpecifications,@pUnit,@pCount,@pApplicants,@pDepartment,@pAppDate,@pReviewer,@pReDate,@pReStatus,@pRemark)
end
else /*如果是其他>0说明就当更新update*/
begin
update purchaseRq set pName=@pName,pSpecifications=@pSpecifications,pUnit=@pUnit,pCount=@pCount,pApplicants=@pApplicants,pDepartment=@pDepartment,pAppDate=@pAppDate,pReviewer=@pReviewer,pReDate=@pReDate,pReStatus=@pReStatus,pRemark=@pRemark
where sId=@sId
end
go
3、后台调用存储过程
1)参数数组
SqlParameter[] Para = new SqlParameter[]{//传参数
new SqlParameter("@sId",SqlDbType.Int),
new SqlParameter("@pName",SqlDbType.VarChar),
new SqlParameter("@pSpecifications",SqlDbType.VarChar),
new SqlParameter("@pUnit",SqlDbType.VarChar),
new SqlParameter("@pCount",SqlDbType.Int),
new SqlParameter("@pApplicants",SqlDbType.VarChar),
new SqlParameter("@pDepartment",SqlDbType.VarChar),
new SqlParameter("@pAppDate",SqlDbType.DateTime),
new SqlParameter("@pReviewer",SqlDbType.VarChar),
new SqlParameter("@pReDate",SqlDbType.DateTime),
new SqlParameter("@pReStatus",SqlDbType.VarChar),
new SqlParameter("@pRemark",SqlDbType.VarChar),
};
2) 数组赋值
Para[0].Value = 0;//赋值
Para[1].Value = "1";
Para[2].Value = "1";
Para[3].Value = "1";
Para[4].Value = 8;//赋值
Para[5].Value = "大树";
Para[6].Value = "生产部";
Para[7].Value = DateTime.Now;
Para[8].Value = "树哥";
Para[9].Value = DateTime.Now;
Para[10].Value = "已通过";
Para[11].Value = "备注信息:请某某同学来一趟";
string connstring="数据库连接";
string strproc="getPurchaseRq";//存储过程名
SqlConnection sqlCon = new SqlConnection(connstring);//sql 连接
SqlCommand scmd = new SqlCommand(strproc, sqlCon);
scmd.CommandType = CommandType.StoredProcedure;//类型存储过程
SqlDataAdapter da = new SqlDataAdapter();
scmd.Parameters.AddRange(Para) ; //传递多个参数(数组)
da.SelectCommand = scmd;
DataSet ds = new DataSet(); //获得数据存入DataSet
da.Fill(ds);
CREATE TABLE [dbo].[purchaseRq](
[sId] [int] IDENTITY(1,1) NOT NULL,
[pName] [nvarchar](50) NULL,
[pSpecifications] [nvarchar](50) NULL,
[pUnit] [nvarchar](50) NULL,
[pCount] [int] NULL,
[pApplicants] [nvarchar](50) NULL,
[pDepartment] [nvarchar](50) NULL,
[pAppDate] [datetime] NULL,
[pReviewer] [nvarchar](50) NULL,
[pReDate] [datetime] NULL,
[pReStatus] [nvarchar](50) NULL,
[pRemark] [nvarchar](max) NULL,
CONSTRAINT [PK_purchaseRq] PRIMARY KEY CLUSTERED
(
[sId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
2、存储过程:proc_getPurchaseRq
use [ERP]
go
if (exists (select * from sys.objects where name = 'proc_getPurchaseRq'))
drop proc proc_getPurchaseRq
go
create proc proc_getPurchaseRq
@sId int, --默认输入参数
@pName varchar(50), --输入参数
@pSpecifications varchar(50),--输入参数
@pUnit varchar(50),--输入参数
@pCount int,--输入参数
@pApplicants varchar(50),
@pDepartment varchar(50),
@pAppDate datetime,
@pReviewer varchar(50),
@pReDate datetime,
@pReStatus varchar(50),
@pRemark varchar(Max)
as
if @sId=0 /*如果是0说明就当查询select*/
begin
select sId,pName,pSpecifications,pUnit,pCount,pApplicants,pDepartment,pAppDate,pReviewer,pReDate,pReStatus,pRemark from purchaseRq order by sId asc
end
else if @sId=-1/*如果是-1说明就当插入insert*/
begin
insert into purchaseRq values (@pName,@pSpecifications,@pUnit,@pCount,@pApplicants,@pDepartment,@pAppDate,@pReviewer,@pReDate,@pReStatus,@pRemark)
end
else /*如果是其他>0说明就当更新update*/
begin
update purchaseRq set pName=@pName,pSpecifications=@pSpecifications,pUnit=@pUnit,pCount=@pCount,pApplicants=@pApplicants,pDepartment=@pDepartment,pAppDate=@pAppDate,pReviewer=@pReviewer,pReDate=@pReDate,pReStatus=@pReStatus,pRemark=@pRemark
where sId=@sId
end
go
3、后台调用存储过程
1)参数数组
SqlParameter[] Para = new SqlParameter[]{//传参数
new SqlParameter("@sId",SqlDbType.Int),
new SqlParameter("@pName",SqlDbType.VarChar),
new SqlParameter("@pSpecifications",SqlDbType.VarChar),
new SqlParameter("@pUnit",SqlDbType.VarChar),
new SqlParameter("@pCount",SqlDbType.Int),
new SqlParameter("@pApplicants",SqlDbType.VarChar),
new SqlParameter("@pDepartment",SqlDbType.VarChar),
new SqlParameter("@pAppDate",SqlDbType.DateTime),
new SqlParameter("@pReviewer",SqlDbType.VarChar),
new SqlParameter("@pReDate",SqlDbType.DateTime),
new SqlParameter("@pReStatus",SqlDbType.VarChar),
new SqlParameter("@pRemark",SqlDbType.VarChar),
};
2) 数组赋值
Para[0].Value = 0;//赋值
Para[1].Value = "1";
Para[2].Value = "1";
Para[3].Value = "1";
Para[4].Value = 8;//赋值
Para[5].Value = "大树";
Para[6].Value = "生产部";
Para[7].Value = DateTime.Now;
Para[8].Value = "树哥";
Para[9].Value = DateTime.Now;
Para[10].Value = "已通过";
Para[11].Value = "备注信息:请某某同学来一趟";
string connstring="数据库连接";
string strproc="getPurchaseRq";//存储过程名
SqlConnection sqlCon = new SqlConnection(connstring);//sql 连接
SqlCommand scmd = new SqlCommand(strproc, sqlCon);
scmd.CommandType = CommandType.StoredProcedure;//类型存储过程
SqlDataAdapter da = new SqlDataAdapter();
scmd.Parameters.AddRange(Para) ; //传递多个参数(数组)
da.SelectCommand = scmd;
DataSet ds = new DataSet(); //获得数据存入DataSet
da.Fill(ds);
相关文章推荐
- [Database]创建存储过程并在ASP.NET中的调用带参数的存储过程与及调用带参数的SQL语句对比
- 在asp.net中使用sql server存储过程 (包括SqlDataAdapter调用存储过程)
- 在asp.net中使用sql server存储过程 (包括SqlDataAdapter调用存储过程)
- 在VB.NET中 用代码 利用SQL语句创建数据库、表、存储过程、视图、索引、规则、修改表、查看数据等的方法
- 不创建表结构,直接放入临时表结果(包括存储过程,直接sql语句)
- sql语句实现数据库的操作(包括角色、权限、用户、存储过程)
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
- sql 存储过程 几个 简单例子,及在asp.net(C#)中调用存储过程的代码
- 在动态SQL语句中调用存储过程
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
- JAVA中处理事务的程序--多条更新SQL语句的执行(包括回滚) .
- SQL:分页存储过程(优化了部分语句,附C#调用接口)
- 数据库基类方法(直接使用SQL语句或存储过程调用)
- javascript与cs代码互相调用 asp.net中前台javascript与后台C#交互 这里主要包括了javascipt与后台CS代码四种方法互调(其中包括函数与变量的访问)
- Sql语句 循环调用存储过程 设置1秒执行一次!
- 开放源码的对象关系映射工具ORM.NET 查询表 调用存储过程 增加自定义代码
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
- [VB.NET]再求一条SQL语句更新问题
- Asp.Net访问Oracle 数据库执行SQL语句和调用存储过程
- SQL语句查找含有某个字段的存储过程