亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

【mysql+java】捕獲數(shù)據(jù)庫中未查到數(shù)據(jù)進(jìn)行異常處理

來源:賈繼康 發(fā)布時間:2018-11-03 17:06:03 閱讀量:1137

文章目錄

捕獲數(shù)據(jù)庫未查到數(shù)據(jù)異常處理

前言

準(zhǔn)備工作

思路分析

流程圖分析

代碼分析

說明

捕獲數(shù)據(jù)庫未查到數(shù)據(jù)異常處理

前言

        當(dāng)用戶查數(shù)據(jù)庫中的表單以此驗(yàn)證表單中是否和即將要插入的數(shù)據(jù)重復(fù),捕獲重復(fù)的數(shù)據(jù)以此來統(tǒng)計重復(fù)數(shù)據(jù)的個數(shù)。

        此次博主要做的就是進(jìn)行分析獲取數(shù)據(jù)庫中的數(shù)據(jù)查重,捕獲異常(自定義異常譬如:將重復(fù)的數(shù)據(jù)作為異常處理),分析這個過程。


準(zhǔn)備工作

使用的數(shù)據(jù)庫:mysql

假設(shè)表單名是:user_list.jsp

表單結(jié)構(gòu)如下所示:


思路分析

連接數(shù)據(jù)庫

進(jìn)行查表單操作

判斷自定義異常

進(jìn)行統(tǒng)計異常(這里博主要是統(tǒng)計重復(fù)的數(shù)據(jù)的條數(shù))

關(guān)閉數(shù)據(jù)庫

流程圖分析



代碼分析

連接數(shù)據(jù)庫

        boolean ok=false; //成功操作則此標(biāo)志轉(zhuǎn)為true


//用于記錄查詢電話號碼是否已經(jīng)被用過

String s_id="",s_user_name="";


//下面使用JNDI數(shù)據(jù)庫連接池連接到MySQL服務(wù)器

Connection my_con=null;

try

{

 

String my_dbdriver=com_station_datebase_driver; //MYSQL 5.0 用的JDBC驅(qū)動

String my_url=com_station_datebase_url; //MYSQL數(shù)據(jù)庫名為dqz_mysql_test

String my_username=com_station_datebase_user;  //數(shù)據(jù)庫管理用戶

String my_password=com_station_datebase_password; //數(shù)據(jù)庫管理密碼

Class.forName(my_dbdriver); //裝載驅(qū)動程序

my_con=DriverManager.getConnection(my_url,my_username,my_password); //連接數(shù)據(jù)庫


  //建立遠(yuǎn)程視圖

  Statement my_stmt=my_con.createStatement();


  err_code="0x01"; //成功執(zhí)行到獲取了遠(yuǎn)程視圖


  String my_sql;


  //注意:因?yàn)镾QL中規(guī)定字符串值(String變量或字符串常量)必須用單引號''括起來,

  //所以下面的jsp程序中在SQL語句中傳遞的字符串不能使用雙引號,而用了單引號。

  //發(fā)送并執(zhí)行SQL


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

        以上是連接數(shù)據(jù)庫主要核心代碼示例


查詢語句

         // 查詢此用戶名稱是否存在

          my_sql="select id from user_list where user_name='"+in_user_name+"' limit 0,1";

 

  //調(diào)試

  //System.out.println("my_sql="+my_sql);


  ResultSet my_rs=my_stmt.executeQuery(my_sql); //執(zhí)行查詢

  err_code="0x02"; //成功執(zhí)行了查詢語句

 

  ok=my_rs.next();

  //System.out.println("ok="+ok);

1

2

3

4

5

6

7

8

9

10

11

        以上代碼就是進(jìn)行數(shù)據(jù)庫查找語句的操作。


判別存在重復(fù)數(shù)據(jù)與否


  if(ok)

  {

my_rs.close(); //關(guān)閉結(jié)果集

err_code="0x03_user_name"; //成功讀取了結(jié)果集

throw new Exception("『back::_self』用戶名稱【"+in_user_name+"】已經(jīng)被序號注冊使用,請查證后重新進(jìn)行用戶注冊!");

// 統(tǒng)計重復(fù)數(shù)據(jù)的個數(shù)

  }

  else

  {

  // 否則可以注冊


  // 添加新的用戶

  // my_sql="insert into user_list(user_name,password,tel,email,qq,note) values('"+in_user_name+"','"+in_password+"','"+in_tel+"','"+in_email+"','"+in_qq+"','"+in_note+"')";

 

my_sql="insert into user_list(user_name,password,tel,email,qq,note,ssjf_id) values('"+in_user_name+"','"+in_password+"','"+in_tel+"','"+in_email+"','"+in_qq+"','"+in_note+"','"+s_ssjf_add_id2+"')";

  

  

  //調(diào)試

  //System.out.println("my_sql="+my_sql);

  my_stmt.executeUpdate(my_sql); //執(zhí)行插入語句

  err_code="0x06"; //成功執(zhí)行了插入語句

  

  //寫入管理員日志

  String login_IP=request.getRemoteAddr(); //獲取登陸用戶的IP地址

  dqz_time t=new dqz_time(); //獲取登錄時間戳

  

  my_sql="insert into user_log(user_id,user_name,user_ip,log_info,type) values('"+session_user_id+"','"+session_user_name+"','"+login_IP+"','成功添加了用戶【"+in_user_name+"】 ,電話號碼【"+in_tel+"】','添加用戶')";


  my_stmt.executeUpdate(my_sql); //執(zhí)行插入語句

  err_code="0x07"; //成功執(zhí)行了插入語句


  //處理成功

  ok=true;

  }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

         以上的代碼是本文要說明的核心,在下面就是進(jìn)行一個判斷,重點(diǎn)是在為符合查重條件時就統(tǒng)計重復(fù)數(shù)據(jù)的個數(shù),之前老師一直說如果不符合條件就拋出異常呀,老實(shí)說,我聽懂老師要表達(dá)的意思,但是我不理解老師想要實(shí)現(xiàn)的方法是怎樣的,什么是拋出異常呀?正如同下面代碼就是拋出異常同時統(tǒng)計個數(shù)。


if(ok)

  {

my_rs.close(); //關(guān)閉結(jié)果集

err_code="0x03_user_name"; //成功讀取了結(jié)果集

throw new Exception("『back::_self』用戶名稱【"+in_user_name+"】已經(jīng)被序號注冊使用,請查證后重新進(jìn)行用戶注冊!");

// 統(tǒng)計重復(fù)數(shù)據(jù)的個數(shù)

i++;//這里我只是做一個演示,以此來統(tǒng)計個數(shù)

  }

 

1

2

3

4

5

6

7

8

9

         而在符合條件時就執(zhí)行else{}中的插入語句代碼。

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

作者:賈繼康 

來源:CSDN 

原文:https://blog.csdn.net/Jiajikang_jjk/article/details/83026282 

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!


標(biāo)簽: 數(shù)據(jù)庫
分享:
評論:
你還沒有登錄,請先