户想了解更多方面的关于管理系统的信息,则可以点击主菜单中的"帮助"菜单下的"帮助"菜单项,将会在主菜单下的文本区内显示系统信息。
如果管理员用户想离开管理员界面,则可以点击主菜单中的"返回"菜单下的"返回"菜单项。管理员用户将退出管理系统返回到进入界面(JFrame1.java)。
如果管理员用户想退出本系统,就可以点击进入界面(JFrame1.java)上的"退出系统"按钮,将会弹出询问(askdialog)对话框,确认管理员用户是否决定退出本系统(Areyousuretoquit?),点击"确定"按钮将退出本系统;点击"取消"按钮将会返回到进入界面(JFrame1.java).
管理员用户点击"确定"按钮,退出本系统。
3.5后台数据库的建立
启动MicrosoftSQLServer7.0的EnterpriseManager,建立houqin数据库。
界面如下:
然后打开houqin数据库,右击tables,建立人员数据库(renyuan)。
人员数据库(renyuan)的表结构如下:
人员数据库(renyuan)的数据添加如下:
其它数据库的建立如人员数据库(renyuan)的建立。
3.6建立ODBC数据源
在连接数据库之前,首先应该设置系统的ODBC数据源,此数据源向前面新建的houqin数据库,步骤如下:
1.先打开windowsNT的控制面板,单击ODBC数据源(32位)的图标,将打开ODBC数据源管理器。
2.在弹出的对话框中,选择系统DSN(数据源名)属性页,其它还有用户DSN、文件DSN及驱动程序等。
3.在属性页中单击"添加"按钮。
4.出现"创建新数据源"窗口。因为要与SQLServer数据库系统相连接,所以选择SQLServer驱动程序,并单击"完成"。
5.出现"建立新的数据源到SQLServer"窗口。
"DataSourceName"域输入"houqin"
"Server"域输入"(local)",单击"下一步"
6.选择"使用网络登录标识号的WindowsNT验证",单击"下一步"。
7.选择"houqin"数据库,单击"下一步"。
8.单击"完成",弹出一对话框,单击"测试数据源"。
9.弹出"SQLServerODBC数据源测试"对话框,单击"确认"按钮就完成了设置数据源的所有工作。
3.7连接数据库
JDBC建立Java程序连接到数据库的结构,它看起来很像ODBC,但ODBC是以C语言撰写的,不能直接在Java程序中应用。JDBC中包含一个JDBC/ODBC的桥接器(bridge),通过该桥接器就可以在Java程序中调用合乎ODBC规格的数据库。
JDBC/ODBCODBCSQL
Java程序JDBC桥接驱动程序驱动程序数据库
图:利用JDBC/ODBC桥接驱动程序将Java程序与数据库连接
连接代码如下:
try
{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundExceptionce)
{System.out.println("SQLCXCEption:"+ce.getMessage());}
try
{Connectioncon=DriverManager.getConnection("jdbc:odbc:houqin");}
catch(SQLExceptione)
{System.out.println("SQLException:"+e.getMessage();)
class.forName("sun.jdbc.odbc.JdbcOdbcDriver");载入JDBC/ODBC桥接驱动程序到程序中。Connectioncon=DriverManagor.getConnection("jdbc:odbc:houqin");连接到Microsoft的SQLServer数据库,数据来源名称为houqin的数据库houqin。Class类别的ferName()方法负责将指定的JDBC/ODBC桥接驱动程序载入到Java程序中,DriverManager类别的getConnection()方法负责与指定的数据来源houqin连接。
3.8取得数据表属性
当使用JDBC送出SQL的select语句后,将会取得一个ResultSet对象rs,通过rs可建立一个ResultSetMetaData对象md,通过md对象可取得md对象中的数据成员或调用md对象中的方法成员:
md.getColumnCount()取得指定数据表的域数
md.getColumnLabel(i)取得第i域名称
md.getColumnDisplaySize(i)取得第i域显示的域数
md.getColumnTypeName(i)取得第i域的类型名称
程序MySqlUtil.java中的printMetaData()方法显示该连接表的一些静态数据,例如每一行共有几域(colCount)、每域名称(colLabel)、每域以几个域(column)表示(colDisplaySize)、每一域的数据类型(colTypeName)等等。PrintResultSet()方法显示该连接表的一些动态数据,每一域的域名以及该域的内含值。
其代码如下:
packagezc.face;
importjava.io.*;
importjava.sql.*;
classMySqlUnit{
publicstaticStringprintMetaData(ResultSetrs)throwsSQLException
{
ResultSetMetaDatamd=rs.getMetaData();
intcolCount=md.getColumnCount();
StringcolLabel[]=newString[colCount+1];
intcolDisplaySize[]=newint[colCount+1];
StringcolTypeName[]=newString[colCount+1];
System.out.println("databasecolCount="+colCount);
StringBuffersb=newStringBuffer();
for(inti=1;i<=colCount;i++){
colLabel[i]=md.getColumnLabel(i);
colDisplaySize[i]=md.getColumnDisplaySize(i);
colTypeName[i]=md.getColumnTypeName(i);
sb.append("Label:"+colLabel[i]+"DisplaySize:"+colDisplaySize[i]+"TypeName:"+colTypeName[i]+"\r\n");
}
returnsb.toString();
}
publicstaticStringprintResultSet(ResultSetrs)throwsIOException,SQLException
{
ResultSetMetaDatamd=rs.getMetaData();
intcolCount=md.getColumnCount();
StringcolLabel[]=newString[colCount+1];
for(inti=1;i<=colCount;i++)
colLabel[i]=md.getColumnLabel(i);
StringBuffersb=newStringBuffer();
while(rs.next()){
for(inti=1;i<=colCount;i++)
sb.append(colLabel[i]+":"+rs.getObject(i)+"");
sb.append("\r\n");
returnsb.toString();
}
}
四.系统评价与展望
在有限的时间里经过努力,物业管理系统已具规模。
界面比较实用,系统稳定性好,在不同的计算机上都可以很平稳的运行。
系统的查询功能完备,可以满足用户的各种查询要求。查询信息准确无误,完整详细、迅速方便。
系统的可操作性很好,基本上不同用户过多浪费时间在无谓的细节上。
系统的突出之处是用TDBC/ODBC桥接驱动程序连接成功,用Java语句实现了对后端数据库的修改和查询功能。
本系统在现有基础上,对于后端数据库系统的设计有待在又节约数据库资源和又便于客户端查询更方便的基础上进一步完善和协调。随着计算机技术的不断发展和更新以及人力物力的投入,本系统的功能将会得到更加完善的改进。
最后,我衷心感谢何嘉,徐虹两位老师对我的悉心指导和帮助,也一并感谢我的毕业设计合作者张诚同学对我的帮助。
五.参考书目:
MicrosoftSQLServer7.0开发指南[美]SharonBjeletich,GregMable
MicrosoftSQLServer7.0系统管理指南[美]M.Soenik,o.Sledge
JAVA 例解教程柯温钊中国铁道出版社
Java程序设计入门教程林邦杰中国青年出版社
Java编程思想ThinkinginJAVA[美]BruceEckel
WindowsNTServer4从入门到精通[美]MarkMinasi
操作系统Linux北京·电子工业出版社
上一篇:
Java游戏设计打飞机程序+论文(论文和程序)
下一篇:
试题库管理系统毕业论文