本节就是来说说这个用户注册界面如何用java实现。
大家一看就是个很简单的功能,首先我们要确保我们sqlServer能够被连接
打开sqlServer2008配置管理器,按照如下设置
OK,接下来我们去微软的网站上下载JDBC Driver2.0
http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=2505
下载下来以后,解压缩,将sqljdbc4.jar引用到项目下
引用后的工程如下
OK,我们现在写一个JDBC的工具类,先来简单点的,以后继续做的时候再扩展。
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
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万事具备,现在我们看看界面的实现吧。
首先是验证,用户名必须由字母和数字组成,密码也必须由字母和数字组成。并且密码和重复密码必须一致。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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,我们看一下
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
|
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。
好了最后实现一下菜单事件,让他从菜单弹出
本文转自 BruceAndLee 51CTO博客,原文链接:http://blog.51cto.com/leelei/1329817,如需转载请自行联系原作者