eclipse连接sql2000 代码如下,自己先建立数据库,然后要做什么,代码有没有要改的地方
package铁路售票系统;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.R...
package 铁路售票系统;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
//数据库操作
class CopyOfDBManager
{ ResultSet rs;
String strurl="jdbc:odbc:TrainInfo";//TrainInfo数据源名
Statement stmt;
Connection conn;
// 传入一个sql语句返回与该语句相关的结果
public ResultSet getResult (String sql)//传入一个sql语句返回与该语句相关的结果
{
try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//jdbc.odbc桥连接数据库
conn=DriverManager.getConnection(strurl);
// 设置数据库的指针可以任意移动
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);//该句得到结果集
return rs;//返回结果集
}
catch(Exception e){return null;}
}
//该方法传入sql语句更新数据库如果成功返回true这个方法用来实现删除,添加,修改
public boolean executeSql(String sql)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection(strurl);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.commit();
return true;
}catch(Exception es){ JOptionPane.showMessageDialog(null,es.toString(),"SQL error",JOptionPane.ERROR_MESSAGE);return false;}
}
public void executeSql1(String sql)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection(strurl);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.commit();
}catch(Exception es){ JOptionPane.showMessageDialog(null,es.toString(),"SQL error",JOptionPane.ERROR_MESSAGE); }
}
//该方法传入一个Returntable实例的tableModel语句返回一个带有JTable的面板用来显示查询结果
public JPanel JtablePanel(Returntable tabl) throws SQLException, ClassNotFoundException
{
JPanel JP=new JPanel();
JP.setSize(800, 600);
JTable resultTable=new JTable(tabl);
JP.add(new JScrollPane(resultTable));
return JP;
}
} 展开
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
//数据库操作
class CopyOfDBManager
{ ResultSet rs;
String strurl="jdbc:odbc:TrainInfo";//TrainInfo数据源名
Statement stmt;
Connection conn;
// 传入一个sql语句返回与该语句相关的结果
public ResultSet getResult (String sql)//传入一个sql语句返回与该语句相关的结果
{
try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//jdbc.odbc桥连接数据库
conn=DriverManager.getConnection(strurl);
// 设置数据库的指针可以任意移动
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);//该句得到结果集
return rs;//返回结果集
}
catch(Exception e){return null;}
}
//该方法传入sql语句更新数据库如果成功返回true这个方法用来实现删除,添加,修改
public boolean executeSql(String sql)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection(strurl);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.commit();
return true;
}catch(Exception es){ JOptionPane.showMessageDialog(null,es.toString(),"SQL error",JOptionPane.ERROR_MESSAGE);return false;}
}
public void executeSql1(String sql)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection(strurl);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.commit();
}catch(Exception es){ JOptionPane.showMessageDialog(null,es.toString(),"SQL error",JOptionPane.ERROR_MESSAGE); }
}
//该方法传入一个Returntable实例的tableModel语句返回一个带有JTable的面板用来显示查询结果
public JPanel JtablePanel(Returntable tabl) throws SQLException, ClassNotFoundException
{
JPanel JP=new JPanel();
JP.setSize(800, 600);
JTable resultTable=new JTable(tabl);
JP.add(new JScrollPane(resultTable));
return JP;
}
} 展开
2个回答
展开全部
代码基本上没有什么错误,但是你要去控制面板——数据源里面设置使用sql数据库还要开启服务,才能连接上数据库
追问
该步骤选择第二个并使用sa和sa密码,为什么就会发生错误?下面代码中的null和这个有什么关系?
String user=null; String pass=null;
public Returntable(String query)
throws SQLException,ClassNotFoundException{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:TrainInfo",user,pass);
追答
如果你的用户名和密码是空的话,应该这样写:String user=‘’; String pass=‘’;如果不是单引号的话你可以试一下双引号,好久没弄了,有点搞忘了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询