整理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 ...

整理一下级联更新和删除 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

  

相关实践学习
使用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
目录
相关文章
|
28天前
|
存储 SQL Go
sqlserver存储过程
sqlserver存储过程
19 0
|
29天前
|
存储 SQL 数据库
sqlserver中常用的几个存储过程
sqlserver中常用的几个存储过程
48 0
|
6月前
|
存储
SQLServer存储过程中事务的创建
SQLServer存储过程中事务的创建
45 0
|
6月前
|
存储 SQL 数据库
SQLServer存储过程的执行计划
SQLServer存储过程的执行计划
64 0
|
15天前
|
存储 SQL 关系型数据库
轻松入门MySQL:加速进销存!利用MySQL存储过程轻松优化每日销售统计(15)
轻松入门MySQL:加速进销存!利用MySQL存储过程轻松优化每日销售统计(15)
|
1月前
|
存储 关系型数据库 MySQL
Mysql基础第二十六天,使用存储过程
Mysql基础第二十六天,使用存储过程
28 0
Mysql基础第二十六天,使用存储过程
|
1月前
|
存储 SQL 关系型数据库
【MySQL 数据库】9、存储过程
【MySQL 数据库】9、存储过程
202 0
|
3月前
|
存储 关系型数据库 MySQL
MySQL-调用存储过程
MySQL-调用存储过程
101 2
|
3月前
|
存储 关系型数据库 MySQL
MySQL 中创建存储过程
MySQL 中创建存储过程
24 1
|
3月前
|
存储 SQL 数据库
MySQL-存储过程概述
MySQL-存储过程概述
121 1