本節就是來講說這個用戶註冊界面如何用java實現。
java
你們一看就是個很簡單的功能,首先咱們要確保咱們sqlServer可以被鏈接sql
打開sqlServer2008配置管理器,按照以下設置app
OK,接下來咱們去微軟的網站上下載JDBC Driver2.0ide
http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=2505工具
下載下來之後,解壓縮,將sqljdbc4.jar引用到項目下sqlserver
引用後的工程以下
網站
OK,咱們如今寫一個JDBC的工具類,先來簡單點的,之後繼續作的時候再擴展。this
package Utility; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCSqlHelper { private static Connection con = null; private static Statement st = null; private static ResultSet rs = null; private static void dbconn() { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } String conURL = "jdbc:sqlserver://localhost:1433;databaseName=Bonus"; try { con = DriverManager.getConnection(conURL, "sa", "123456"); st = con.createStatement(); } catch (SQLException e) { // TODO 自動生成 catch 塊 e.printStackTrace(); } } private static void dbclose() { try { st.close(); con.close(); } catch (SQLException e) { // TODO 自動生成 catch 塊 e.printStackTrace(); } st = null; con = null; } public static ResultSet query(String sql) { dbconn(); try { rs = st.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs; } public static int update(String sql) { int i = 0; try { dbconn(); i = st.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } finally { dbclose(); } return i; } }
這個就不作解釋了,OK萬事具有,如今咱們看看界面的實現吧。server
首先是驗證,用戶名必須由字母和數字組成,密碼也必須由字母和數字組成。而且密碼和重複密碼必須一致。blog
private void RegisterUser() { String userNo = txtUserNo.getText().trim(); String pwd = txtPwd.getText().toString().trim(); String rePwd = txtRePwd.getText().toString().trim(); if (!CheckInput(userNo, pwd, rePwd)) { return; } StringBuffer strBuffer = new StringBuffer(); strBuffer.append("INSERT INTO dbo.[User]"); strBuffer.append("(UseNo,Pwd,IsAdmin) "); strBuffer.append("VALUES('" + userNo + "','" + pwd + "','" + (chkRole.isSelected() ? "1" : "0") + "')"); try { JDBCSqlHelper.update(strBuffer.toString()); MessageHelper.ShowMessage("註冊成功!", "提示"); this.WindowClose(); } catch (Exception ex) { ex.printStackTrace(); } }
首先是check Input,咱們看一下
private boolean CheckInput(String userNo, String pwd, String rePwd) { if (userNo.isEmpty()) { MessageHelper.ShowMessage("請輸入同戶名!", "用戶名"); return false; } if (pwd.isEmpty()) { MessageHelper.ShowMessage("請輸入密碼!", "密碼"); return false; } if (rePwd.isEmpty()) { MessageHelper.ShowMessage("請輸入重複密碼!", "重複密碼"); return false; } boolean isMatch=userNo.matches("^[A-Za-z0-9]+$"); if (!isMatch) { MessageHelper.ShowMessage("用戶名只能由字母和數字組成!", "用戶名"); return false; } isMatch = pwd.matches("^[A-Za-z0-9]+$"); if (!isMatch) { MessageHelper.ShowMessage("密碼只能由字母和數字組成!", "密碼"); return false; } if (!pwd.equals(rePwd)) { MessageHelper.ShowMessage("密碼和重複密碼不一致!", "重複密碼"); return false; } return true; }
OK,上面就是check input的邏輯,不作解釋,很簡單。OK,驗證經過以後,數據保存進sqlserver。
好了最後實現一下菜單事件,讓他從菜單彈出