整理一下级联更新和删除 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
)
asreturn 1go
注意,(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)
asSelect @outputValue='aa'
go

  

转载于:https://www.cnblogs.com/li-peng/p/3254982.html

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

  1. dapper 调用 存储过程返回值_数据库事务、存储过程、函数以及触发器之间的区别和联系...

    一.[事务概念] 事务(Transaction)是指构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行. 1,如果事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前 ...

  2. JBDC更新计数行以及调用存储过程返回多个结果集

    2019独角兽企业重金招聘Python工程师标准>>> 在学习该知识点之前,需要了解sqlserver的一个存储过程语句:SET NOCOUNT ON; 执行该命令 表示不返回计数行 ...

  3. mysql c 调用存储过程返回值_Mysql:使用返回值调用存储过程

    我试图使用这个过程: DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_login`( IN in_Email VARCHAR( ...

  4. SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法

    1.SpringMVC中通过@ResponseBody返回对象,作为JQuery中的ajax返回值 package com.kuman.cartoon.controller; import java. ...

  5. python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)

    python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce.map.filter) Python 中函数的应用非常广泛,比如 input() .print().range( ...

  6. myabatis oracle 调用存储过程返回list结果集

    视频课:https://edu.csdn.net/course/play/7940 Mapper.xml 配置 <resultMap type="emp" id=" ...

  7. java使用mybatis 调用存储过程返回一个游标结果集

    瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:IBM:Linux on System z Red Hat Enterprise Linux 7 版本:6.0,4.5 文档用途 mybat ...

  8. Access外键 级联更新、删除

    工具栏-->"关系". 打开主表和从表. 将主表的字段拖动到从表的对应字段. (两个字段要求类型相同. 如果主表是自动编号,那么从表用长整型.) Access添加外键约束 ( ...

  9. Oracle外键约束如何同时更新,SQL与ORACLE的外键约束-级联更新和删除

    /* SQL与ORACLE的外键约束--级联删除 最近软件系统中要删除一条记录,就要关联到同时删除好多张表,他们之间还存在着约束关系.所以考虑到在创建表时加上约束关系,具体如下: SQL的外键约束可以 ...

最新文章

  1. 开发日记-20190718 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 11
  2. 最好用的 Python 虚拟环境,没有之一
  3. 基于组块设计执行开放世界等距游戏引擎
  4. 腾讯云社区发表博客的前台JavaScript实现
  5. 企业版Java EE正式易主 甲骨文再次放手
  6. [CQOI2015]选数(数论分块+杜教筛)
  7. ab plc编程软件_AB编程软件及所有组态软件授权及安装教程包含FTViewV11
  8. 福建地震局网站被******挂壮阳广告
  9. 综合对比各个设计模式的思想
  10. 一次openresty http.lua 性能调优之旅
  11. 零基础适合学python吗-学Python需要什么基础知识?零基础可以学Python吗?
  12. 南方cass字体样式设置_几种常见的CASS字体异常问题,教你如何解决(附字体下载)...
  13. 单因素模糊评价matlab,模糊综合评判matlab源程序
  14. A870省电内核超频内核编译及制作
  15. XM外汇官网 xm-cnfx.com 外汇新手交易者必备!选择交易商一定要看的7个方面
  16. 动图如何在线制作?教你一键在线制作动图
  17. 爬取豆瓣电影排行榜,并制作柱状图与3d柱状图
  18. 超好用的思维导图网站
  19. RestTemplate 发送请求 清除Cookie
  20. 安卓项目为什么要clean,以及如何clean

热门文章

  1. The Illustrated Transformer (Transformer可视化解读自译笔记)
  2. Uncaught SyntaxError: Unexpected identifier ”的报错解决
  3. 二分查找原理非递归与递归实现【转载】
  4. H264视频压缩编码标准简介(一)
  5. Golang笔记—文件操作
  6. 初学python的小技巧_Python学习小技巧总结
  7. mysql where is_MySQL——Where条件子句
  8. 为什么熊掌号没有了_为什么人类总吃食草动物,很少吃食肉动物?
  9. java循环输出_Java实现excel导出(内容循环多个)
  10. mysql truncate partition_实战mysql分区(PARTITION)