JAVA 数据库 问题??

xtuyaowu 2005-03-17 09:35:24
各位高手好:
我正在学习 JAVA 数据库编程 用的 SQL SERVER 2000。请问该怎么学
用什么驱动?那里有下的!!有没有这方面的示例 谢谢!我的E-MAIL
tzjz1982252@sina.com
...全文
381 点赞 收藏 16
写回复
16 条回复
Magic_Chen 2005年04月13日
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=haiguan";

String user="sa";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
回复 点赞
xtuyaowu 2005年03月28日
各位高手 问题来了 !!按照 上面的指示 我已经配置 好了 数据库驱动,确定成功,我用JAVA 小程序测试过了!! BUT !!当我用 在JSP 下测试时 出现如下错误:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1365)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1212)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:184)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:110)
java.lang.ClassLoader.loadClassInternal(Unknown Source)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Unknown Source)
org.apache.jsp.dataconnect_jsp._jspService(dataconnect_jsp.java:47)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

我该怎么做??谢谢问题比较急? ?
另外我还想请问一下 Tomcat 下 我的.class 文件 该方在哪?
马上要用到 javabeam 我又该怎么配置????
回复 点赞
xtuyaowu 2005年03月24日
程序架起来了,但是点激 查询 按钮 时没有 出现查询结果
我用的Odbc-jdbc 桥,数据源OK 我的代码 如下 ,请指示:
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class jdbc //定义主类
{ public static void main(String args[])
{
GUI gui=new GUI();//创建类GUI的对象
gui.pack(); //装载执行GUI类
}
}

class GUI extends Frame implements ActionListener
{

TextArea text;Panel panel; TextField sno;Button btn;
GUI()//构造方法
{
super("学生情况查询制作~~~姚伍");
setLayout(new BorderLayout());
setBackground(Color.cyan);
setVisible(true); text=new TextArea();
btn=new Button("查询");
sno=new TextField(16);
panel=new Panel();
panel.add(new Label("输入被查询的学生学号(限10位数字)"));
panel.add(sno);panel.add(btn);
add("North",panel);add("Center",text);
text.setEditable(false);btn.addActionListener(this);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
setVisible(false);
System.exit(0);}});}

public void actionPerformed(ActionEvent e){
if(e.getSource()==btn)// 当按下查询按钮时
{text.setText("查询结果"+'\n');
try{
Liststudent();
}
catch(SQLException ee){}
}
}


public void Liststudent() throws SQLException//针对数据库的操作
{
String xh,xm,xb,nl,em,tl;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){}

Connection con=DriverManager.getConnection("jdbc:odbc:wzgl");//wagl 为数据源名称

Statement sql=con.createStatement();//创建Statement对象

ResultSet rs=sql.executeQuery("select* from xsqk"); //xsqk 数据表
while(rs.next()) //输出被查询的情况
{ xh =rs.getString("学号");
xm=rs.getString("姓名");
xb=rs.getString("性别");
nl=rs.getString("年龄");
em=rs.getString("E—Mail");
tl=rs.getString("电话");
if(xh.trim().equals(sno.getText().trim()))
{
text.append('\n'+"学号"+" "+"姓名"+" "+"性别"+" "+"年龄"+" "+"E-Mail"+" "+"电话"+'\n');
text.append('\n'+xh+" "+xm+" "+xb+" "+nl+" "+em+" "+tl+'\n');


}

}

}
}
回复 点赞
qjzrd 2005年03月24日
学习
回复 点赞
xtuyaowu 2005年03月24日
我有做了一下测试,发现是数据库可能没连上:
java.lang.ClassNotFuondException:com.microsoft.jdbc.sqlserver.SQLServerDriver
at~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
该怎么办!!!
回复 点赞
xtuyaowu 2005年03月24日
数据库连上了,是环境变量的问题,但是当我运行程序时 窗口上没有返回查询结果??
是不是程序出了问题???
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class jdbc //定义主类
{ public static void main(String args[])
{
GUI gui=new GUI();//创建类GUI的对象
gui.pack(); //装载执行GUI类
}
}

class GUI extends Frame implements ActionListener
{

TextArea text;Panel panel; TextField sno;Button btn;
GUI()//构造方法
{
super("学生情况查询制作~~~姚伍");
setLayout(new BorderLayout());
setBackground(Color.cyan);
setVisible(true); text=new TextArea();
btn=new Button("查询");
sno=new TextField(16);
panel=new Panel();
panel.add(new Label("输入被查询的学生学号(限10位数字)"));
panel.add(sno);panel.add(btn);
add("North",panel);add("Center",text);
text.setEditable(false);btn.addActionListener(this);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
setVisible(false);
System.exit(0);}});}

public void actionPerformed(ActionEvent e){
if(e.getSource()==btn)// 当按下查询按钮时
{text.setText("查询结果"+'\n');
try{
Liststudent();
}
catch(SQLException ee){}
}
}


public void Liststudent() throws SQLException//针对数据库的操作
{
String xh,xm,xb,nl,em,tl;

try{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
}
catch(ClassNotFoundException e){e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());}
catch(java.lang.InstantiationException e)
{
}
catch(java.lang.IllegalAccessException e)
{
}

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydata";

String user="";

String password="";

Connection con= DriverManager.getConnection(url,user,password); //

Statement sql=con.createStatement();//创建Statement对象

ResultSet rs=sql.executeQuery("select* from xsqk"); //xsqk 数据表
while(rs.next()) //输出被查询的情况
{ xh =rs.getString("学号");
xm=rs.getString("姓名");
xb=rs.getString("性别");
nl=rs.getString("年龄");
em=rs.getString("E—Mail");
tl=rs.getString("电话");
if(xh.trim().equals(sno.getText().trim()))
{
text.append('\n'+"学号"+" "+"姓名"+" "+"性别"+" "+"年龄"+" "+"E-Mail"+" "+"电话"+'\n');
text.append('\n'+xh+" "+xm+" "+xb+" "+nl+" "+em+" "+tl+'\n');

}

}

}
}
回复 点赞
007remember 2005年03月23日
一、下载SQLSERVER2000的jdbc驱动程序。

在微软站点就有这个驱动程序:

Window操作系统

http://www.uncj.com/upload/files/ms_jdbc_setup.exe

http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/setup.exe



Unix操作系统 Mssqlserver.tar

http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/mssqlserver.tar



二、安装JDBC

执行ms_jdbc_setup.exe可执行文件,一切只需要点击下一步,至到出现finish按钮,完成安装。

注:

(1) ms_JDBC_setup默认安装路径为:c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC

(2)此版(Version 2.2.0022)本仅支持Microsoft SQL Server 2000 Driver for JDBC

(3)安装目录\lib\下的三个jar文件即是我们要的JDBC驱动核心

msbase.jar

mssqlserver.jar

msutil.jar



三、将以上(3)中指的三个jar文件加入到环境变量中去

classpath:

d:\webserver\lib\msbase.jar;d:\webserver\lib\mssqlserver.jar;d:\webserver\lib\msutil.jar

注:也可以省事的将以上三个文件拷贝至你的jvm机所在的JAVA_HOME\jre\lib\ext目录下,不过不建议这么做。



四、测试

jsp文件:

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%

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

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=haiguan";

String user="sa";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql="select * from xt_user";

ResultSet rs=stmt.executeQuery(sql);

while(rs.next())

{

%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%

}

%>

<%out.print("数据库操作成功,恭喜你");%>

<%

rs.close();

stmt.close();

conn.close();

%>

</body>

</html>



五、注意事项

1. 要保证你的Sql服务是启动状态

2. 在Sql 的管理器中能够使用sa或其它用户正常登录;(有些人在安装sql时用了nt用户管理模式,这里可能会有一定问题)

3. 第一次配置好环境变量最好能重启一下电脑

4. 注意JVM和DataBase的启动顺序:先启动DataBase,再启动JVM机。

注:在停止Web服务器后,再重启动,中间最好能有10秒以上的间隔。

5. 注意操作系统的网络连通性

A.启动了Tcp/IP服务

B.配置了相关IP地址,有些人机器可能用的是自动分配IP或有配置IP时,但网络不通可能也找不到IP

6. 有些机器在调试明最好能将(四)中的连接地址localhost改成数据库服务器的IP,这也是要注意5的原因。


(以上资料来自internet,只为交流)
回复 点赞
xiaohuozhi 2005年03月23日
3\查看用企业管理器可以查看!!
2\在url中应该有这么一项吧.String url = "jdbc:sqlserver://安装mssql的ip地址/DatabaseName=数据库名"
1\数据表的建立有很方法的.在企业管理器可以建,用sql语句也可以建..
回复 点赞
xtuyaowu 2005年03月23日
高手们 给点建议吧 先谢了!!
回复 点赞
007remember 2005年03月23日
没有啊
我刚开始都是用SQL Server 啊
回复 点赞
jianghuxing 2005年03月23日
不过我建议当开始还是不要用SQL Server 会有很多问题的。
回复 点赞
jianghuxing 2005年03月23日
呵呵,楼上写的很全呀,我也不多说什么了。
回复 点赞
xtuyaowu 2005年03月22日
遇到 问题了 ,就是说 我现在 SQL SERVER 2000 ,JAVA 都分别学了点。
接下来 想给我们老师做一个 学生成绩查询 小小的作品。
但是 : 教我怎么做 ,我现在能做的事是:
1. 数据库StuScore的建立
2.JAVA 里JDBC的搭建
但是不知道 怎么把数据库与程序的物理连接 ,数据库需要发布吗?怎么发布?
还需要做什么事吗?
3.另外,以后怎么查看数据库呀? 是不是在SQL SERVER 2000可以打开!!
这是我的第一阶段 ,接下来我要学SEVERLET 了! 谢谢!!
回复 点赞
xiaohuozhi 2005年03月17日
呵呵,我的光碟里有。
回复 点赞
mailmac 2005年03月17日
微软关于MS JDBC的HOW TO,有空去看看吧
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;313100#toc
回复 点赞
xitianjile 2005年03月17日
给你发过去了.
回复 点赞
发动态
发帖子
Java SE
创建于2007-09-28

3.4w+

社区成员

30.7w+

社区内容

Java 2 Standard Edition
社区公告
暂无公告