首页 > 数据库 >sql-server创建存储过程

sql-server创建存储过程

时间:2024-07-01 21:53:05浏览次数:16  
标签:ClassId 存储 StudentName StudentAddress -- server sql new SqlParameter

use EFDB
go

--添加学生存储过程
--usp_AddStudents 自定义的存储过程name if exists(select * from sysobjects where name='usp_AddStudents') drop procedure usp_AddStudents go
--@StudentName varchar(20), 对应表中的字段
--@Gender char(2), 对应表中的字段
--@Birthday smalldatetime, 对应...
--@StudentIdNo numeric(18, 0), 对应...
--@Age int, 对应...
--@PhoneNumber varchar(50), 对应...
--@StudentAddress varchar(500), 对应...
--@ClassId int 对应...
create procedure usp_AddStudents
@StudentName varchar(20),
@Gender char(2),
@Birthday smalldatetime,
@StudentIdNo numeric(18, 0),
@Age int,
@PhoneNumber varchar(50),
@StudentAddress varchar(500),
@ClassId int

-- as - go 中间写sql语句 as insert into Students(StudentName,Gender,Birthday,StudentIdNo,Age,PhoneNumber,StudentAddress,ClassId) values(@StudentName,@Gender,@Birthday,@StudentIdNo,@Age,@PhoneNumber,@StudentAddress,@ClassId) go

 使用 usp_AddStudents 存储过程 
1.封装参数: 

SqlParameter parameter = new SqlParameter()
{
    new SqlParameter("@StudentName", StudentName),
    new SqlParameter("@Gender",Gender),
    new SqlParameter("@Birthday",Birthday),
    new SqlParameter("@StudentIdNo",StudentIdNo),
    new SqlParameter("@Age", Age),
    new SqlParameter("@PhoneNumber", PhoneNumber),
    new SqlParameter("@StudentAddress", StudentAddress),
    new SqlParameter("@ClassId", ClassId)
};

封装SqlHelper

public static int Update(string uspName, params SqlParameter[] parse)
{
    SqlConnection conn = new SqlConnection(connStr);
    SqlCommand cmd = new SqlCommand(uspName, conn);
    try
    {
        conn.Open();
        cmd.CommandType = CommandType.StordProcedure; //设置类型为存储过程
        cmd.Parameters.Clear();
        cmd.Parameters.AddRange(parse);
        return cmd.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
        throw new Exception(ex.Message);
    }
    finally
    {
        conn.Close();
    }
}

 

标签:ClassId,存储,StudentName,StudentAddress,--,server,sql,new,SqlParameter
From: https://www.cnblogs.com/tlfe/p/18278897

相关文章

  • Spark_04 SparkSQL的介绍及使用
    说明这一章主要包括对于sparksql概念的介绍,sparksql的特点,sparksql用到的数据类型,DataFrame的基础方法等。概念SparkSQL是Spark用于处理结构化数据的模块。诞生由于MapReduce这种计算模型的执行效率较慢,rdd原生代码较为复杂,所以引入了SparkSQL应运而生。它可以将sql转换为......
  • 为Ubuntu-24.04-live-server-amd64磁盘扩容
    系列文章目录Ubuntu-24.04-live-server-amd64安装界面中文版文章目录系列文章目录前言一、检查系统本身情况1.用lsblk命令查看自己系统磁盘是什么状态2.用df-h命令查看文件系统的磁盘空间使用情况3.解决Ubuntu-24.04磁盘空间只能用一半的问题3-1扩展逻辑卷:3-2.......
  • MySQL—创建和修改数据表结构
    创建表实例:CREATETABLE`user`(idINT,`name`VARCHAR(255),`password`VARCHAR(255),`birthday`DATE)CHARACTERSETutf8COLLATEutf8_binENGINEINNODB;显示数据库中的表showtablesfromhsp;显示表结构descdept;修改......
  • Windows Server 2016 搭建VPN服务
    ......
  • WEB01MySQL安装和数据库
    第一天、WEB课程web课程主要讲三部分内容数据库数据库介绍什么是数据库数据存储的仓库,其本质也是一个文件系统数据库会按照特定的格式对数据进行存储,用户可以对数据库中的数据进行增加,修改,删除及查询操作。数据库管理系统层次数据库管理系统(DataBaseManage......
  • 为什么升级到 MySQL 8.x 后,带有多个 IN 值的查询会更昂贵?
     MySQL的范围优化有多个IN值的查询在MySQL查询优化器中,会使用"等值范围优化"(EqualityRangeOptimization)。假设我们的查询是这样的:SELECTCOUNT(*)FROMtest.sbtest1WHEREidIN(10,50,200,...,30822);比较列表中有一万个值。在MySQL5.7下运行这个程序会得到以......
  • MyBatis中Where标签:揭秘高效SQL构建的秘密
    哈喽,大家好,我是木头左!理解Where标签的基础概念在MyBatis中,<where>标签是用于构建SQL查询语句中的一个非常重要的元素。它允许你在一个动态的SQL语句中添加WHERE子句,而不需要担心SQL语法错误或额外的逗号和AND/OR关键字。使用<where>标签可以让的SQL语句更加简洁、易读,并且能够......
  • FlinkCDCSQL数据同步mysql->clickhouse
    FlinkCDC(ChangeDataCapture)SQL用于实现数据库的数据变更捕获,并通过SQL接口进行处理。以下是一个基本的示例,全量+增量数据mysql同步到clickhouse,展示如何使用FlinkCDCSQL进行数据同步。首先,确保你有Flink和FlinkCDC的环境配置好。1.mysql测试source表(准备......
  • 实战篇——SQL注入sqli-labs-master靶场实战一
    实战篇——SQL注入sqli-labs-master靶场实战(1)SQL注入的原理没有对用户的输入进行合法性判断或过滤,而是直接将其拼接至SQL查询语句当中作为命令执行,从而导致非法操作。SQL注入的检测也就是闭合方式的判断,根据报错信息的不同情况可以分为3类——(1)有报错信息(2)无报错信息,但......
  • MySQL 使用 ALTER TABLE 语句修改表结构的方法
    MySQL使用ALTERTABLE语句修改表结构的方法基本概念与作用作用说明完整代码示例示例一:添加新列示例二:修改列的数据类型示例三:删除列示例四:重命名列示例五:添加约束示例六:删除约束示例七:更改表名示例八:更改表的存储引擎功能使用思路实际工作开发技巧在数据库开发......