最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

用swing,jdbc連接數(shù)據(jù)庫實(shí)戰(zhàn)項(xiàng)目,注冊,登錄,輸入電話號碼等,用戶名不可重名效果

2020-04-12 22:34 作者:詩書畫唱  | 我要投稿

結(jié)構(gòu):

自己寫的代碼:


drop table yonghu, shangpin,dingdanxiangqing,sp_Type


create table yonghu(--創(chuàng)建用戶表

? yh_ID int primary key identity(1,1),

? yh_Uname varchar(30) not null,

? yh_Pwd varchar(30) not null,

? yh_Name varchar(30) not null,

? yh_Age int,

? yh_Sex varchar(20),

? yh_Phone varchar(100),

? yh_Address varchar(200),

? yh_Jieshao varchar(500),

? ?yh_Q varchar(500),

? ? yh_AQ varchar(500)

);

insert into yonghu values('1','11','詩書畫唱1',21,'男','19999999999','江西','陽光帥氣的男孩子','你愛好多嗎?','多');

insert into yonghu values('2','22','詩書畫唱2',22,'男','29999999999','北京','陽光帥氣的男孩子','你看過的書多嗎?','多');

insert into yonghu values('3','33','詩書畫唱3',23,'男','39999999999','上海','陽光帥氣的男孩子','你會的技能多嗎?','多');

insert into yonghu values('4','44','詩書畫唱4',24,'男','49999999999','湖南','陽光帥氣的男孩子','你喜歡的動漫嗎?','多');

insert into yonghu values('5','55','詩書畫唱5',25,'男','59999999999','浙江','陽光帥氣的男孩子','你喜歡的歌曲多嗎?','多');

create table sp_Type(--用戶類型表

sp_TypeID int primary key identity(1,1),

sp_TypeName varchar(100) not null

);

insert into sp_Type values('水果');

insert into sp_Type values('零食');

insert into sp_Type values('小吃');

insert into sp_Type values('日常用品');

create table shangpin(--商品表

? sp_ID int primary key identity(1,1),

? sp_Name varchar(100) not null,

? sp_Price decimal(10,2) not null,

? sp_TypeID int,

? sp_Jieshao varchar(300)

);

insert into shangpin values('蘋果',12,1,'好吃的蘋果');

insert into shangpin values('香蕉',2,1,'好吃的香蕉');

insert into shangpin values('橘子',4,1,'好吃的橘子');

insert into shangpin values('娃哈哈',3,2,'好吃營養(yǎng)好');

insert into shangpin values('牙刷',5,4,'全自動牙刷');

drop table dingdan

create table dingdan(

? dingdan_ID int primary key identity(1,1),

? yh_ID int,

? dingdanxiangqing_ID int

)

insert into dingdan values(1,1);

insert into dingdan values(1,2);

insert into dingdan values(1,3);

insert into dingdan values(2,4);

insert into dingdan values(2,5);

insert into dingdan values(2,6);

insert into dingdan values(3,7);

create table dingdanxiangqing(

? dingdanxiangqing_ID int primary key identity(1,1),

? sp_ID int,

? sp_num int

)

insert into dingdanxiangqing values(1,3);

insert into dingdanxiangqing values(2,4);

insert into dingdanxiangqing values(1,5);

insert into dingdanxiangqing values(3,5);

insert into dingdanxiangqing values(4,2);

insert into dingdanxiangqing values(5,1);

insert into dingdanxiangqing values(3,3);

insert into dingdanxiangqing values(4,3);

select * from yonghu;

select * from shangpin;

select * from sp_Type;




package denglu;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;


public class DBUtils {


private static Connection con = null;


private static ResultSet res = null;


private static Statement sta = null;


static {


try {


Class.forName("com.microsoft.sqlserver." + "jdbc.SQLServerDriver");


} catch (ClassNotFoundException e) {


e.printStackTrace();


}


}


public static Connection getCon() {


if (con == null) {


try {


con = DriverManager.getConnection(


"jdbc:sqlserver://DESKTOP-49FTFSP;"


+ "databaseName=yonghu", "sa", "1234abcd");


} catch (SQLException e) {


e.printStackTrace();


}


}


return con;


}


public static ResultSet Select(String sql) {


/* Select為用于查找的靜態(tài)方法 */


con = getCon();


try {


sta = con.createStatement();


res = sta.executeQuery(sql);


} catch (SQLException e) {


e.printStackTrace();


}


return res;


}


public static boolean ZSG(String sql) {


/* ZXG為用于增加(Z)或修改(G)或刪除(S)的靜態(tài)方法,命名不可太長不然這里會不管用 */


boolean b = false;


con = getCon();


try {


sta = con.createStatement();


int num = sta.executeUpdate(sql);


if (num > 0) {


b = true;


}


} catch (SQLException e) {


e.printStackTrace();


}


return b;


}


}


package denglu;


import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.ResultSet;

import java.sql.SQLException;


import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPasswordField;

import javax.swing.JTextField;


public class denglu extends JFrame {


public static JButton btn_dl, btn_qx, btn_zc = null;

//畫窗體

public static JLabel lb_uname, lb_pwd = null;

public static JPasswordField pwd1 = null;

public static JTextField JTextField_unametxt1 = null;


public denglu() {

// 窗體必寫的5句話

this.setLayout(null);

this.setSize(440, 400);

this.setLocationRelativeTo(null);

lb_uname = new JLabel("用戶名:");

lb_pwd = new JLabel("密碼");

lb_uname.setBounds(100, 100, 70, 30);

lb_pwd.setBounds(100, 140, 70, 30);

this.add(lb_uname);

this.add(lb_pwd);

JTextField_unametxt1 = new JTextField();

pwd1 = new JPasswordField();

JTextField_unametxt1.setBounds(180, 100, 140, 30);

pwd1.setBounds(180, 140, 140, 30);

this.add(JTextField_unametxt1);

this.add(pwd1);

btn_dl = new JButton("登錄");

btn_dl.addActionListener(new shijian_dl(this));

btn_dl.setBounds(140, 180, 70, 35);

btn_qx = new JButton("取消");

btn_qx.addActionListener(new shijian_dl(this));

btn_qx.setBounds(230, 180, 70, 35);

btn_zc = new JButton("注冊 ");

btn_zc.setBounds(330, 100, 70, 20);

this.add(btn_zc);

this.add(btn_dl);

this.add(btn_qx);

// btn_qx.setBounds(arg0, arg1, arg2, arg3);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}


// 點(diǎn)擊按鈕是觸發(fā)事件,所以加點(diǎn)擊事件

// 因?yàn)槭录兴幨褂么绑w,將窗體傳過來

class shijian_dl implements ActionListener {

public denglu dd = null;


public shijian_dl(denglu d) {

dd = d;

}


@Override

public void actionPerformed(ActionEvent arg0) {

// JOptionPane.showMessageDialog(null, "點(diǎn)擊");

if (arg0.getActionCommand().equals("登錄")) {

String uname = dd.JTextField_unametxt1.getText().trim();// 獲取用戶輸入的用戶名

String pwd = dd.pwd1.getText().trim();// 獲取密碼

String sql = "select * from yonghu where yh_uname='" + uname

+ "'and yh_pwd='" + pwd + "'";

ResultSet res = DBUtils.Select(sql);

try {// 如果res中有數(shù)據(jù),登錄成功,否則登錄失敗

if (res.next()) {

JOptionPane.showMessageDialog(null, "登錄成功");

new zhujiemian();

dd.setVisible(false);

} else {

JOptionPane.showMessageDialog(null, "用戶名或密碼錯誤");

}

// 項(xiàng)目中,登錄,注冊,找回密碼

// 如果res中有數(shù)據(jù),登錄成功,否則登錄失敗

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// 點(diǎn)擊按鈕后會做什么事

// 要登錄,首先要獲取窗體上的用戶名和密碼

// 去數(shù)據(jù)庫里查一下用戶輸入的用戶名和密碼數(shù)據(jù)庫中存在嗎?

// 如果數(shù)據(jù)庫中存在和用戶輸入的用戶名和密碼一致

// 說明數(shù)據(jù)庫有這條數(shù)據(jù)庫,用戶就可以登錄

} else if (arg0.getActionCommand().equals("注冊")) {

// JOptionPane . showMessageDialog(null, "點(diǎn)擊了往冊按鈕");

new zhuce();

// dd. setVisible(false);


}

}

}



package denglu;


public class main {

public static void main(String[] args) {


new denglu();

new zhuce();

new zhaohuimima();

}

}



package denglu;


import javax.swing.JFrame;


public class zhaohuimima extends JFrame {

// 窗體必寫的5句話

public zhaohuimima() {

this.setLayout(null);

this.setSize(700, 700);

this.setTitle("找回密碼界面");

this.setLocationRelativeTo(null);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}


package denglu;


import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.ResultSet;

import java.sql.SQLException;


import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPasswordField;

import javax.swing.JRadioButton;

import javax.swing.JTextArea;

import javax.swing.JTextField;


//再加一個注冊的事件類,點(diǎn)擊事件

class shijian_zhuce implements ActionListener {

public static zhuce zc = null;


public shijian_zhuce(zhuce z) {

this.zc = z;

}


@Override

public void actionPerformed(ActionEvent arg0) {

JOptionPane.showMessageDialog(null, "點(diǎn)擊了注冊按鈕");

// 點(diǎn)擊往冊按鈕后要做什么事?

// 得到用戶輸入的用戶名和真實(shí)姓名


String String_uname = zc.JTextField_uname.getText();// 得到用戶名

String String_pwd = zc.JPasswordField_pwd1.getText();// 得到密碼

String String_pwd1 = zc.JPasswordField_pwd2.getText();// 得到確認(rèn)密碼

String String_TureName = zc.JTextField_name.getText();// 得到用戶名

String String_age = zc.JTextField_age.getText();// 得到年齡

String String_sex = zc.JTextField_sex.getText();// 得到性別

String String_phone = zc.JTextField_phone.getText();// 得到電話號碼

String String_address = zc.JTextField_address.getText();// 得到地址

String String_jieshao = zc.JTextArea_jieshao.getText();// 得到地址

String String_Q = zc.JTextField_Q.getText();// 得到地址

String String_A = zc.JTextField_A.getText();// 得到地址

// 判斷兩次輸入的秘密是否一致

if (!String_pwd.equals(String_pwd1)) {

JOptionPane.showMessageDialog(null, "兩次密碼輸入不一致, 請重新輸入");

return;

}

// 加一個判斷,數(shù)據(jù)庫里查詢一下這個用戶名存不存在

String sql_panduanuname = "select * from yonghu where yh_uname='"

+ String_uname + "'";

ResultSet res_select_uname = DBUtils.Select(sql_panduanuname);

try {

if (res_select_uname.next()) {


// 說明這個用戶已經(jīng)存在了,如果已經(jīng)存在了,提示一下,之后return

// 如果用戶名已經(jīng)存在了,還有住數(shù)據(jù)庫添加內(nèi)容的必要嗎?

JOptionPane.showMessageDialog(null, "用戶名已經(jīng)存在了,請重新輸入");

return;

}

} catch (SQLException e) {

e.printStackTrace();

}

//

// yh_Uname ,yh_Pwd ,yh_Name ,yh_Age ,yh_Sex ,yh_Phone ,yh_Address

// ,yh_Jieshao

String sql = "insert into yonghu values('" + String_uname + "','"

+ String_pwd + "','"


+ String_TureName + "'," + String_age + ",'" + String_sex

+ "','" + String_phone + "','" + String_address + "','"

+ String_jieshao + "','" + String_Q + "','" + String_A + "'"

+ ")";


if (DBUtils.ZSG(sql)) {

JOptionPane.showMessageDialog(null, "注冊成功");

} else {

JOptionPane.showMessageDialog(null, "出現(xiàn)了未知的錯誤,請重試");

}

// 如果判斷了用戶名是唯一的,并且兩次秘密輸入-致,就提示用戶數(shù)輸入真實(shí)姓名

// 1.先獲取用戶輸入的用戶名和密碼

// 2.判斷兩次輸入的秘密是否-致

}


}


public class zhuce extends JFrame {

public static JButton btn_zhuce = null;


public static JRadioButton btn1, btn2 = null;

public static JComboBox com_age = null;

public static JPasswordField JPasswordField_pwd1,

JPasswordField_pwd2 = null;

public static JTextArea jta_adress, jta_jieshao = null;

/* JTextArea類是一 個顯示純文本的多行(DuoHang)區(qū)域。 */

static JTextArea JTextArea_jieshao = null;

public static JTextField JTextField_uname, JTextField_name,

JTextField_phone, JTextField_age, JTextField_sex,

JTextField_address, JTextField_jieshao, JTextField_Q,

JTextField_A = null;

public static JLabel lb_uname, lb_pwd, lb_qrpwd, lb_name, lb_age, lb_sex,

lb_phone, lb_address, lb_jieshao, lb_Q, lb_A = null;


public zhuce() {

// 窗體必寫的5句話


this.setLayout(null);

this.setSize(400, 700);

this.setTitle("注冊界面");

this.setLocationRelativeTo(null);

lb_uname = new JLabel("用戶名");

lb_pwd = new JLabel("用戶密碼");

lb_qrpwd = new JLabel("確認(rèn)密碼");

lb_name = new JLabel("真實(shí)姓名");

lb_age = new JLabel("年齡");

lb_sex = new JLabel("性別");

lb_phone = new JLabel("電話");

lb_address = new JLabel("地址");

lb_jieshao = new JLabel("介紹");

lb_Q = new JLabel("問題");

lb_A = new JLabel("答案");

lb_uname.setBounds(80, 100, 70, 30);

lb_pwd.setBounds(80, 140, 70, 30);

lb_qrpwd.setBounds(80, 180, 70, 30);

lb_name.setBounds(80, 220, 70, 30);

lb_age.setBounds(80, 260, 70, 30);

lb_sex.setBounds(80, 300, 70, 30);

lb_phone.setBounds(80, 340, 70, 30);

lb_address.setBounds(80, 380, 70, 30);

lb_jieshao.setBounds(80, 420, 70, 30);

lb_Q.setBounds(80, 460, 70, 30);

lb_A.setBounds(80, 500, 70, 30);

this.add(lb_uname);

this.add(lb_pwd);

this.add(lb_qrpwd);

this.add(lb_name);

this.add(lb_age);

this.add(lb_sex);

this.add(lb_phone);

this.add(lb_address);

this.add(lb_jieshao);

this.add(lb_Q);

this.add(lb_A);

JTextField_uname = new JTextField();

JTextField_name = new JTextField();

JPasswordField_pwd1 = new JPasswordField();

JPasswordField_pwd2 = new JPasswordField();

JTextField_age = new JTextField();

JTextField_sex = new JTextField();

JTextField_phone = new JTextField();

JTextField_address = new JTextField();

JTextField_Q = new JTextField();

JTextField_A = new JTextField();

JTextArea_jieshao = new JTextArea();

JTextArea_jieshao.setColumns(8);

JTextArea_jieshao.setRows(4);


JTextArea_jieshao.setLineWrap(true);

this.add(JTextArea_jieshao);


JTextField_uname.setBounds(160, 100, 140, 30);

JPasswordField_pwd1.setBounds(160, 140, 140, 30);

JPasswordField_pwd2.setBounds(160, 180, 140, 30);

JTextField_name.setBounds(160, 220, 140, 30);

JTextField_age.setBounds(160, 260, 140, 30);

JTextField_sex.setBounds(160, 300, 140, 30);

JTextField_phone.setBounds(160, 340, 140, 30);

JTextField_address.setBounds(160, 380, 140, 30);

JTextArea_jieshao.setBounds(160, 420, 140, 40);

JTextField_Q.setBounds(160, 460, 140, 30);

JTextField_A.setBounds(160, 500, 140, 30);

this.setLocationRelativeTo(null);

this.add(JTextField_uname);

this.add(JPasswordField_pwd1);

this.add(JPasswordField_pwd2);

this.add(JTextField_name);

this.add(JTextField_age);

this.add(JTextField_sex);

this.add(JTextField_phone);

this.add(JTextField_address);

this.add(JTextField_Q);

this.add(JTextField_A);


btn_zhuce = new JButton("確認(rèn)注冊");

btn_zhuce.addActionListener(new shijian_zhuce(this));

btn_zhuce.setBounds(100, 580, 120, 30);

this.add(btn_zhuce);

// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}




package denglu;


import javax.swing.JFrame;


public class zhujiemian extends JFrame {

// 窗體必寫的5句話

public zhujiemian() {

this.setLayout(null);

this.setSize(700, 700);

this.setTitle("主界面");

this.setLocationRelativeTo(null);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

實(shí)現(xiàn)運(yùn)行效果:



/*這里的用戶名為數(shù)據(jù)庫中的yh_Name,加了不可重名的判斷條件等*/






用swing,jdbc連接數(shù)據(jù)庫實(shí)戰(zhàn)項(xiàng)目,注冊,登錄,輸入電話號碼等,用戶名不可重名效果的評論 (共 條)

分享到微博請遵守國家法律
白水县| 盱眙县| 江阴市| 东乡族自治县| 乐陵市| 梁河县| 衢州市| 青阳县| 凤城市| 中宁县| 田林县| 遵义县| 昌宁县| 聊城市| 宜城市| 桂林市| 昌邑市| 太康县| 凌海市| 泸溪县| 娱乐| 五原县| 集安市| 广宁县| 呼玛县| 广丰县| 博爱县| 长丰县| 台北市| 民勤县| 夹江县| 连城县| 清河县| 保靖县| 酉阳| 北碚区| 宜丰县| 周宁县| 姜堰市| 阜平县| 保亭|