1、ID注册

存储过程代码:

DELIMITER $$;
DROP PROCEDURE IF EXISTS `zebra`.`AddUser`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `AddUser`(in Uid varchar(50), in Upwd varchar(50), in Uquest varchar(50), in Uanswer varchar(50), out RegReturnValue int)
BEGIN
DECLARE ChkID varchar(50);
select LOGINID from login where LOGINID = Uid into ChkID;
if (ChkID <> '') then
  set RegReturnValue = 10;
else
  insert into login (LOGINID, `PASSWORD`, QUESTION1, ANSWER1)VALUES(Uid, Upwd, Uquest, Uanswer);
  set RegReturnValue = 20;
end if;
END$$
DELIMITER ;$$

使用:
procedure TForm1.btn1Click(Sender: TObject);
var
  ErrorCode:Integer;
begin
  try
    mystrdprc1.StoredProcName := 'AddUser';
    mystrdprc1.Params.ParamByName('Uid').Value := 'eboy';
    mystrdprc1.Params.ParamByName('Upwd').Value := 'eewwee';
    mystrdprc1.Params.ParamByName('Uquest').Value := 'MeiPaiHao';
    mystrdprc1.Params.ParamByName('Uanswer').Value := '140140';
    mystrdprc1.ExecProc;
    ErrorCode := mystrdprc1.Params.ParamByName('RegReturnValue').Value;
    case ErrorCode of
      10: ShowMessage('ID已存在。');
      20: ShowMessage('注册成功。');
    end;
    mystrdprc1.Close;
  except
  end;
end;

2、密码修改

存储过程代码:

DELIMITER $$;
DROP PROCEDURE IF EXISTS `zebra`.`EditPwd`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `EditPwd`(in Uid varchar(50), in OldPwd varchar(50), in NewPwd varchar(50), out EditPwdReturnValue int)
BEGIN
DECLARE ChkID varchar(50);
DECLARE ChkPwd varchar(50);
select LOGINID from login where LOGINID = Uid into ChkID;
if (ChkID = Uid) then
  select `PASSWORD` from login where LOGINID = Uid into ChkPwd;
  if (ChkPwd = OldPwd) then
   update login set `PASSWORD` = NewPwd where LOGINID = Uid;
   set EditPwdReturnValue = 30; #?????????
  else
   set EditPwdReturnValue = 20; #??????????
  end if;
else
  set EditPwdReturnValue = 10; #ID??????
end if;
END$$
DELIMITER ;$$

使用:

procedure TForm1.btn2Click(Sender: TObject);
var
  ErrorCode:Integer;
  ad:string;
begin
  try
    mystrdprc1.StoredProcName := 'EditPwd';
    mystrdprc1.Params.ParamByName('Uid').Value := 'eboy';
    mystrdprc1.Params.ParamByName('OldPwd').Value := '12333';
    mystrdprc1.Params.ParamByName('NewPwd').Value := '1233d3';
    mystrdprc1.ExecProc;
    ErrorCode := mystrdprc1.Params.ParamByName('EditPwdReturnValue').Value;
    case ErrorCode of
      10: ShowMessage('ID不存在。');
      20: ShowMessage('旧密码错误。');
      30: ShowMessage('修改密码成功。');
    end;
    mystrdprc1.Close;
  except
  end;
end;

MYSQL - 存储过程学习笔记相关推荐

  1. mysql存储过程学习笔记

    本文主要记录了本人学习mysql存储过程时的笔记,文档中用到的表结构在文档结尾处有说明. 一.定义 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句 ...

  2. MySQL语法学习笔记

    MySQL语法学习笔记 学习之道,非尽心竭力者不能进也!我是小七黛,欢迎查看我的笔记,有问题欢迎交流探讨. SQL是一种结构查询语言,用于查询关系数据库的标准语言,包括若干关键字和一致的语法,便于数据 ...

  3. 研一寒假MySQL数据库学习笔记(三)

    研一寒假MySQL数据库学习笔记(三) 本节记录数据库高级查询部分的内容,整理于此便于之后回顾. 1. 上一节补充内容 1.1 案例练习 现在有一个员工表.部门表,两张表之间是一个部门多个员工,一个员 ...

  4. linux数据库创建score表,MySQL数据库学习笔记

    MySQL数据库学习笔记phpma (实验环境:Redhat9.0,MySQL3.23.54) 纲要: 一,连接MySQL phpma 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 ...

  5. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. 存储过程学习笔记(一)

    存储过程学习笔记(一)      存储过程是将具有规律并且经常使用的sql语句,写成可以接受参数的sql语句进行保存起来,给以后进行调用      一.存储过程的格式 ■■■■■■代码开始■■■■■■ ...

  7. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. MySQL 索引学习笔记

    MySQL 索引学习笔记 索引基本概念 索引优点 B-Tree 索引 基本原理 使用场景 使用限制 哈希索引 基本原理 使用限制 自适应哈希索引 处理哈希冲突 相关面试题 高性能索引策略 独立的列 前 ...

  9. MySQL 8——学习笔记03(插入、更新、删除 数据 [DML语句]、查询数据 [DQL语句])

    MySQL 8--学习笔记03(插入.更新.删除 数据 [DML语句]) 一.插入数据 1.1 插入所有字段.插入部分字段 1.2 同时插入多条记录(批量插入) 1.3 将查询结果插入到表中 二.更新 ...

最新文章

  1. Kafka和RocketMQ底层存储之那些你不知道的事
  2. 大满贯!清华学生超算团队获得国际大学生超级计算机竞赛(SC18)总冠军(附现场视频)...
  3. jquery easyui datagrid mvc server端分页排序筛选的实现
  4. apt update无法连接上 127.0.0.1:10808
  5. 如何运用并行编程Parallel提升任务执行效率
  6. Java中HashMap和TreeMap的区别
  7. [前端]网页网络分析及前端网络优化
  8. .NET组件程序设计0723
  9. oracle 修索引改空间_oracle 修改索引现有表空间
  10. spring.xml
  11. HttpClient下载图片
  12. IDM下载工具(免费下载视频、音乐、图片等文件)
  13. mac QQ 语音或视频时其他声音变小的解决办法
  14. 软件导出excel时提示没有注册类
  15. **懒得给孩子讲故事怎么办**
  16. NYOJ-845 无主之地1
  17. android登录程序代码,android 应用软件注册与自动登录代码
  18. Wav音频文件剪切指定片段(限PCM格式)
  19. 如何让浏览器的左上角显示自己的logo的小诀窍
  20. 论文排版——毕业论文给图片下方添加序号(题注)

热门文章

  1. 中小企业监控体系构建实战
  2. Javascript事件模型系列(一)事件及事件的三种模型
  3. BGP链路冗余使用直接接口和回环口分析
  4. Gnome2.30 GDM圖片風格設置方式
  5. 全国人民强烈反对手机单项收费!
  6. 27_多线程_第27天(线程安全、线程同步、等待唤醒机制、单例设计模式)
  7. 用Flink取代Spark Streaming,知乎实时数仓架构演进
  8. Module-Zero之组织单元(OU)管理【新增】
  9. 天时、地利、人和,技术成熟推动闪存联盟2.0落地
  10. 删除节点命令removeNode