返回首页
当前位置: 主页 > 网络编程 > Jsp实例教程 >

用Java访问SQL Server 2005数据库方法详解

时间:2010-09-27 00:30来源:知行网www.zhixing123.cn 编辑:麦田守望者

1 JDBC、ODBC接口

  Java应用程序通过JDBC API(java.sql)与数据库连接,而实际的动作则是由JDBC驱动程序管理器(JDBC Driver Manager)通过JDBC驱动程序与数据库系统进行连接。ODBC(Open DataBase Connectivity)即开放式的接口,它为用户提供了一个访问关系数据库的标准接口,对于不同的数据库它提供了一套统一的API;可以使应用程序通过API访问任何提供了ODBC驱动程序的数据库,而目前所有的关系数据库都提供了ODBC驱动程序,所以ODBC已经成为数据库访问的业界标准,并得到了广泛应用。

  JDBC-ODBC桥是一种JDBC驱动程序,它通过将JDBC操作转换为ODBC操作来实现的。利用JDBC-ODBC桥可以使程序开发人员不需要学习更多的知识就可以编写JDBC应用程序,并能够充分利用现有的ODBC数据源。JDBC-ODBC桥驱动程序可以使JDBC能够访问几乎所有类型的数据库。

  2 利用Java应用程序访问SQL Server2000数据库

  (1)建立数据库

  启动“Microsoft SQL Server2000”,打开“企业管理器”在“数据库”中建立名为“xmu”的数据库,并在其下制作名为“caipu”的数据表,

  (2)建立(ODBC)数据源和驱动程序

  在控制面板上通过“管理工具”的“数据源

(ODBC)”打开“ODBC数据源管理器”对话框,单击“系统DSN”选项卡,然后单击“添加”按钮,得到“创建数据源”对话框,选择“SQL Server”并单击“完成”按钮,在出现的“建立新的数据源到SQL Server”对话框中的“数据源名称”项填写“CAIPU”并选取“服务器名”,然后单击“下一步”按钮,选择“使用网络登录ID的Windows NT验证”项目,单击“下一步”按钮,把默认的数据库改为“xmu”,再单击“下一步”,单击“完成”按钮,然后可以单击“测试数据源”,成功后,单击“确定”按钮,完成了(ODBC)数据源和驱动程序的建立

(3)代码如下及部分注释

/*
* 食堂查询系统
* SP工作组
*/

import java.awt.*;
import java.awt.event.*;
import java.sql.*;

public class STCXXT {
public static void main(String args[]) {
GUI gui = new GUI();
gui.pack();
}
}
class GUI extends Frame implements ActionListener {
TextArea text;
Panel panel;
TextField sno1;
Button btn1;

//**********************************************

GUI() {
super("食堂查询系统");
//设置BorderLayout布局编辑器
setLayout(new BorderLayout(0,10));
setBackground(Color.green);
setVisible(true);
text = new TextArea("使用说明:"+'\n'+"该查询系统可以查询以下内容"+'\n'+
"菜名:例如要查询糖醋排骨,就请键入糖醋排骨"+'\n'+
"价格:本系统有(0,5元,1元,1.5元,1.8元,2元,2.5元,3元,5元这些价格供选择)"
+'\n'+"类别:本系统有(肉类,菜类,汤类)等供选择");
btn1 = new Button("查询");
sno1 = new TextField(16);
panel = new Panel();
//加入组件时分配区域
panel.add(new Label("请输入你要查询的内容: "));
panel.add(sno1);
panel.add(btn1);
add("North",panel);
add(text,"Center");
text.setEditable(false);
btn1.addActionListener(this);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
setVisible(false);
System.exit(0);
}
});

}

//************************************************

public void actionPerformed(ActionEvent e) {
if(e.getSource() == btn1) {
text.setText("查询结果"+'\n');
try {
Listcaipu1();
} catch(SQLException ee) {}
}

}

//************************************************

public void Listcaipu1() throws SQLException{
String cm,lb,tbtj;
String jg;
try{
//这里加载驱动
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e){
System.out.println("Unable to load Driver Class");
return;
}

try{
//所以的驱动都必须使用TRY/CATCH块来接收异常
//必须指定数据库URL,用户名和密码
Connection con=DriverManager.getConnection("jdbc:odbc:CAIPU","","");
//创建一个可执行的SQL描述
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM caipu");
//显示SQL结果
while(rs.next()){

cm = rs.getString("菜名");
jg = rs.getString("价格(元)");
lb = rs.getString("类别");
tbtj = rs.getString("特别推荐");
if(cm.trim().equals(sno1.getText().trim()) || lb.trim()
.equals(sno1.getText().trim()) || jg.trim().equals
(sno1.getText().trim())) {
text.append('\n' + "菜名" + "\t " + "价格(元)" + " \t" + "类别"
+ "\t" + "特别推荐" + '\n');
text.append('\n' + cm + "\t" + jg + "\t" + lb + "\t" + tbtj + '\n');

}

//释放数据库资源
/* rs.close();
stmt.close();
con.close(); */
}
}
catch(SQLException se){
//输出数据库连接错误信息
System.out.println("SQL Exception:"+se.getMessage());
se.printStackTrace(System.out);
}
}
}

本文只涉及到对SQL Server2000数据库访问的查询操作,也可以进行插入、删除、修改等操作。
 

------分隔线----------------------------
标签(Tag):Java Java教程 java代码 java源码
------分隔线----------------------------
推荐内容
猜你感兴趣