整理sqlserver 级联更新和删除 c#调用存储过程返回值

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

整理一下级联更新和删除 c#调用返回值

use master 
go 
IF exists( select  1 from  sysdatabases where  name= 'temp' )
BEGIN  
     DROP DATABASE temp
END
create database temp
go
use temp
go
--drop table  ProductInfo
create table ProductInfo
(
     ProductId int   primary key ,
     ProductName varchar(20),   
)
  
create table ProductDetails
(
     id int  identity(1,1) primary key,
     num varchar(100) ,
     ProductId int ,
     foreign key (ProductId) references ProductInfo(ProductId) on  delete cascade on  update cascade
)
  
insert ProductInfo values (1, 'Think' )
insert ProductInfo values(2, 'TCL' )
insert ProductInfo values(3, 'HTC' )
  
insert ProductDetails values( 'T420' ,1)
insert ProductDetails values( 'Xo1' ,1)
insert ProductDetails values( 'TVoo1' ,2)
insert ProductDetails values( 'TPhone' ,2)
insert ProductDetails values( 'One' ,3)
insert ProductDetails values( 'Buffer' ,3)
 
  
 
 
alter table 表名
add constraint 外键名
foreign key(字段名) references 主表名(字段名)
on  delete cascade --删除
on  update cascade --更新
 
--查看现有数据
select  * from  ProductInfo
select  * from  ProductDetails
 
--更改
update ProductInfo set  ProductId=5  where  ProductName= 'Think'
select  * from  ProductInfo
select  * from  ProductDetails
 
--删除
delete from  ProductInfo where  ProductId=5
select  * from  ProductInfo
select  * from  ProductDetails

  

第一种方法:
C#代码:
protected  void  btnBack_Click( object  sender, EventArgs e)
{
         //调用存储过程
         stringconStr=ConfigurationManager.ConnectionStrings[ "NorthwindConnectionString" ].ToString();
         SqlConnection conn = new  SqlConnection(conStr);
         SqlCommand cmd = new  SqlCommand();
         cmd.CommandText = "MyProc" ;
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Connection=conn;
         conn.Open();
         SqlParameter sp = new  SqlParameter( "@ID" , SqlDbType.Int);
         sp.Value = int .Parse( "3" );
         cmd.Parameters.Add(sp);
  
         //定义输出参数
         SqlParameter returnValue = new  SqlParameter( "@returnValue" , SqlDbType.Int);
         returnValue.Direction = ParameterDirection.ReturnValue;
         cmd.Parameters.Add(returnValue);
         cmd.ExecuteNonQuery();       
         conn.Close();
  
}
存储过程如下:
create procedure MyProc
(
      @ID int
)
as
  
  return  1
  
 
go
注意,( return )这种方式 只能返加数值类型
  
第二种方法:
protected  void  btnBack_Click( object  sender, EventArgs e)
{
         //调用存储过程
         string  conStr = System.Configuration.ConfigurationManager.ConnectionStrings[ "NorthwindConnectionString" ].ToString();
         SqlConnection conn = new  SqlConnection(conStr);
         SqlCommand cmd = new  SqlCommand();
         cmd.CommandText = "MyProc" ;
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Connection=conn;
         conn.Open();
         SqlParameter sp = new  SqlParameter( "@ID" , SqlDbType.Int);
         sp.Value = int .Parse( "3" );
         cmd.Parameters.Add(sp);
  
         //定义输出参数
         sp = new  SqlParameter( "@outputValue" , SqlDbType.NVarChar,50);
         sp.Direction = ParameterDirection.Output;
         cmd.Parameters.Add(sp);
         cmd.ExecuteNonQuery();
         
         conn.Close();
  
     }
  
存储过程如下:
alter procedure MyProc
(
      @ID int ,
      @outputValue nvarchar(50) output
  
)
as
  Select @outputValue= 'aa'
go

本文转自lpxxn博客园博客,原文链接:http://www.cnblogs.com/li-peng/p/3254982.html ,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
2月前
|
存储 SQL Go
sqlserver存储过程
sqlserver存储过程
20 0
|
2月前
|
存储 SQL 数据库
sqlserver中常用的几个存储过程
sqlserver中常用的几个存储过程
53 0
|
5天前
|
SQL 存储 数据库连接
C#SQL Server数据库基本操作(增、删、改、查)
C#SQL Server数据库基本操作(增、删、改、查)
7 0
|
7天前
|
存储 SQL
SQL Server 存储过程 触发器 事务处理
SQL Server 存储过程 触发器 事务处理
|
19天前
|
存储 开发框架 前端开发
C#开发的全套成熟的LIS系统源码JavaScript+SQLserver 2012区域云LIS系统源码
医院云LIS系统是一套成熟的实验室信息管理系统,目前已在多家三级级医院应用,并不断更新。云LIS系统是为病人为中心、以业务处理为基础、以提高检验科室管理水平和工作效率为目标,将医学检验、科室管理和财务统计等检验科室/实验室所有工作进行整合,全面改善检验科室/实验室的工作现状。
21 0
|
4月前
|
存储 C#
C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
方法是一段代码,只有在调用时才会运行。 您可以将数据(称为参数)传递给方法。 方法用于执行某些操作,也被称为函数。 为什么使用方法?为了重用代码:定义一次代码,然后多次使用。
44 0
|
1月前
|
SQL 安全 算法
【SQL server】玩转SQL server数据库:第四章 数据库安全性
【SQL server】玩转SQL server数据库:第四章 数据库安全性
69 12
|
1月前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
67 10
|
1月前
|
SQL 存储 算法
【SQL server】玩转SQL server数据库:第一章 绪论
【SQL server】玩转SQL server数据库:第一章 绪论
43 5
|
2月前
|
SQL 数据库
sql server中创建数据库和表的语法
sql server中创建数据库和表的语法
19 1