整理sqlserver 级联更新和删除 c#调用存储过程返回值-阿里云开发者社区

开发者社区> 吞吞吐吐的> 正文

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

简介:
+关注继续查看

整理一下级联更新和删除 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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9494 0
用PostgreSQL支持含有更新,删除,插入的实时流式计算
大多数的流式计算产品只支持APPEND ONLY的应用场景,也就是只有插入,没有更新和删除操作。如果要实现更新和删除的实时流式计算,在PostgreSQL中可以这样来实现。在此前你可以阅读我以前写的文章来了解PG是如何处理一天一万亿的实时流式计算的:https://yq.aliyun.com/ar.
7358 0
《数据库基础及实践技术——SQL Server 2008》一3.5 删除数据库
本节书摘来自华章出版社《 数据库基础及实践技术——SQL Server 2008》一 书中的第3章,第3.5节,作者:何玉洁,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1604 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13177 0
SQLServer删除登录记录用户名和密码
介绍: 作为一名开发人员都会知道我们做的项目都要用到数据库,数据库都需要账号和密码,然而问题来了,做的东西多了那些没用的账号和密码还在哪里纠缠着我们。所有我们不能忍了删除掉他。 网上很多都是2008的是删除方案,知道我看到了这篇:http://stackoverflow.
1650 0
4852
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载