zoukankan      html  css  js  c++  java
  • 存储过程、面向对象

    存储过程:就像函数一样的
    会保存在数据库中--》可编程性 --》 存储过程
    -----------------------------------------------------
    创建存储过程
    create proc JiaFa
    --需要的参数
    @a int,
    @b int
    as
    --存储过程的内容
    declare @c int;
    set @c = @a + @b;
    return @c;
    go

    public int JiaFa(int a, int b)
    {
    int c = a+b;
    return c;
    }
    --执行完毕后全部选中,执行创建
    -----------------------------------------------------
    执行存储过程
    exec JiaFa 3,5;

    declare @f int;
    exec @f = JiaFa 3,5;
    print @f;

    --根据用户传入的参数查询汽车表符合该条件的汽车数量
    create proc ChaXun
    @n varchar(20)
    as
    declare @num int
    select @num = count(*) from car where name like '%'+@n+'%'
    return @num
    go

    declare @m int
    exec @m = ChaXun '奥迪'
    print @m

    ---------------------------------------------------------------------------------------

    1、面向过程

    int a = 10;
    int b =5;
    int c = a+b;

    int r1 = 10;
    int r2 = 5;
    double c = r1*r1*3.14 - r2*r2*3.14

    缺点:重用性差,扩展性差,可维护性差

    2、面向对象
    (1)对象:万物皆对象,对象是类实例化出来的东西
    (2)类:由众多对象抽象出来的东西

    例子:管理学生信息的程序
    研究的对象主要是 学生
    程序中的类 学生的类 (学号 姓名 性别 年龄 住址 联系方式 )

    student(code,name,sex,age,address,lianxi)

    (3) class Student //定义类 关键字class 后面跟类名
    {
    string code; //成员变量code
    string name; //成员变量 name
    bool sex; //成员变量 sex
    int age; //成员变量 age
    string address; //成员变量 address
    string lianxi; //成员变量 lianxi
    }

    面向对象
    1.类:众多对象抽象出来的
    2.对象:类实例化出来的,万物皆对象,对象是类实例化出来的东西

    例子:管理学生信息的程序
    研究的对象主要是 学生
    程序中的类 学生的类 (学号 姓名 性别 年龄 住址 联系方式 )

    student(code,name,sex,age,address,lianxi)

    3.类的定义
    关键字 class

    4.类里面包含
    成员变量
    成员属性
    成员方法

    class Student //定义类 关键字class 后面跟类名
    {
    string code; //成员变量code
    string name; //成员变量 name
    bool sex; //成员变量 sex
    int age; //成员变量 age
    string address; //成员变量 address
    string lianxi; //成员变量 lianxi
    }

    ---------------------------------------------------------------------

    事务:
    保障流程的完整执行
    就像银行取钱,先在你账上扣钱,然后存入别人的账上;
    但是从你账上扣完钱了,突然网断了,对方没有收到钱,那么此时你的钱也没了,别人的钱也没加上,为了防止此类情况的出现,事务。

    begin tran --在流程开始的位置


    if @@ERROR>0
    begin
    rollback tran --回滚事务,到begin tran的位置,就当没发生过
    end
    else
    begin
    commit tran --提交事务,都没问题,那么就一把进行提交
    end

    -----------------------------------------------------------------
    购物车实例
    begin tran --开启事务
    declare @tran_error int; --存储错误
    set @tran_error = 0; --默认没有错误

    update Fruit set Numbers = Numbers-1 where Ids='k002'
    set @tran_error = @tran_error + @@ERROR;
    update Login set Account=Account-1 where UserName='wangwu'
    set @tran_error = @tran_error + @@ERROR;
    insert into Orders values('d002','wangwu','2016-8-7')
    set @tran_error = @tran_error + @@ERROR;
    insert into OrderDetails values('d002','k002',10)
    set @tran_error = @tran_error + @@ERROR;


    if @tran_error>0
    begin
    rollback tran --回滚事务,到begin tran的位置,就当没发生过
    end
    else
    begin
    commit tran --提交事务,都没问题,那么就一把进行提交
    end

  • 相关阅读:
    tiny4412 硬件解码
    orb slam2 双目摄像头
    hi3516a arm-hisiv300-linux-gcc jrtplib交叉编译
    第12章_异常
    第10章_内部类:
    IO流深入总结
    实现对存放了Map集合的ArrayList的排序(按照map中某个字段比较)
    UML各图用处

    File类:
  • 原文地址:https://www.cnblogs.com/dreamer666/p/5761309.html
Copyright © 2011-2022 走看看