当前位置: 技术问答>java相关
一个关于JDBC的问题
来源: 互联网 发布时间:2017-04-25
本文导语: 下面是一个小程序,编译没有问题,但连接数据库的时候出现异常,帮忙解决,谢谢! ---------------------------import java.awt.*; import java.sql.*; class JDBCTest extends Frame { TextArea myTextArea; public JDBCTest() { super(...
下面是一个小程序,编译没有问题,但连接数据库的时候出现异常,帮忙解决,谢谢!
---------------------------import java.awt.*;
import java.sql.*;
class JDBCTest extends Frame
{
TextArea myTextArea;
public JDBCTest()
{
super("sample");
setLayout(new FlowLayout());
myTextArea = new TextArea(30,80);
add(myTextArea);
resize(500,500);
show();
myTextArea.appendText("waiting...n");
}
void displayResults(ResultSet results) throws SQLException
{
ResultSetMetaData resultsMetaData = results.getMetaData();
int cols = resultsMetaData.getColumnCount();
myTextArea.setText("");
while(results.next())
{
for(int i=1;i1)
myTextArea.appendText("t");
try
{
myTextArea.appendText(results.getString(i));
}
catch(NullPointerException e)
{
}
}
myTextArea.appendText("n");
}
}
public boolean handleEvent(Event evt)
{
if(evt.id == Event.WINDOW_DESTROY)
{
System.exit(0);
return true;
}
return super.handleEvent(evt);
}
public static void main(String argv[]) throws SQLException,Exception
{
String queryString = "select * from Customers";
JDBCTest myJDBCTest = new JDBCTest();
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection myConn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind","sa","");
Statement myStmt = myConn.createStatement();
ResultSet myResults = myStmt.executeQuery(queryString);
myJDBCTest.displayResults(myResults);
myResults.close();
myStmt.close();
myConn.close();
}
---------------------------import java.awt.*;
import java.sql.*;
class JDBCTest extends Frame
{
TextArea myTextArea;
public JDBCTest()
{
super("sample");
setLayout(new FlowLayout());
myTextArea = new TextArea(30,80);
add(myTextArea);
resize(500,500);
show();
myTextArea.appendText("waiting...n");
}
void displayResults(ResultSet results) throws SQLException
{
ResultSetMetaData resultsMetaData = results.getMetaData();
int cols = resultsMetaData.getColumnCount();
myTextArea.setText("");
while(results.next())
{
for(int i=1;i1)
myTextArea.appendText("t");
try
{
myTextArea.appendText(results.getString(i));
}
catch(NullPointerException e)
{
}
}
myTextArea.appendText("n");
}
}
public boolean handleEvent(Event evt)
{
if(evt.id == Event.WINDOW_DESTROY)
{
System.exit(0);
return true;
}
return super.handleEvent(evt);
}
public static void main(String argv[]) throws SQLException,Exception
{
String queryString = "select * from Customers";
JDBCTest myJDBCTest = new JDBCTest();
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection myConn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind","sa","");
Statement myStmt = myConn.createStatement();
ResultSet myResults = myStmt.executeQuery(queryString);
myJDBCTest.displayResults(myResults);
myResults.close();
myStmt.close();
myConn.close();
}
|
给你个完整的例子吧:
import java.awt.*;
import java.sql.*;
class JDBCTest extends Frame
{
TextArea myTextArea;
public JDBCTest ()
{
//设定程序的显示界面
super("一个简单的JDBC范例");
setLayout(new FlowLayout());
myTextArea = new TextArea(30,80);
add(myTextArea);
resize(500,500);
show();
myTextArea.appendText("数据库查询中,请等待......n");
}
void displayResults(ResultSet results) throws SQLException
{
//首先得到查询结果的信息
ResultSetMetaData resultsMetaData = results.getMetaData();
int cols = resultsMetaData.getColumnCount();
//将等待信息清除
myTextArea.setText("");
//显示结果
while(results.next())
{
for(int i=1;i1)
myTextArea.appendText("t");
try
{
myTextArea.appendText(results.getString(i));
}
//捕获空值时产生的异常
catch(NullPointerException e){}
}
myTextArea.appendText("n");
}
}
public boolean handleEvent(Event evt)
{
if (evt.id == Event.WINDOW_DESTROY)
{
System.exit(0);
return true;
}
return super.handleEvent(evt);
}
public static void main(String argv[]) throws SQLException,Exception
{
//设定查询字串
String queryString = "select * from Customers";
JDBCTest myJDBCTest = new JDBCTest();
//加载驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//建立连接
Connection myConn =
DriverManager.getConnection("jdbc:odbc:Northwind","forum","forum");
Statement myStmt = myConn.createStatement();
//执行查询
ResultSet myResults = myStmt.executeQuery(queryString);
myJDBCTest.displayResults(myResults);
//关闭所有打开的资源
myResults.close();
myStmt.close();
myConn.close();
}
}
------------------------------
我已经调试通过了;如果你的机器环境没有问题,那么这个例子可以正常运行的。
import java.awt.*;
import java.sql.*;
class JDBCTest extends Frame
{
TextArea myTextArea;
public JDBCTest ()
{
//设定程序的显示界面
super("一个简单的JDBC范例");
setLayout(new FlowLayout());
myTextArea = new TextArea(30,80);
add(myTextArea);
resize(500,500);
show();
myTextArea.appendText("数据库查询中,请等待......n");
}
void displayResults(ResultSet results) throws SQLException
{
//首先得到查询结果的信息
ResultSetMetaData resultsMetaData = results.getMetaData();
int cols = resultsMetaData.getColumnCount();
//将等待信息清除
myTextArea.setText("");
//显示结果
while(results.next())
{
for(int i=1;i1)
myTextArea.appendText("t");
try
{
myTextArea.appendText(results.getString(i));
}
//捕获空值时产生的异常
catch(NullPointerException e){}
}
myTextArea.appendText("n");
}
}
public boolean handleEvent(Event evt)
{
if (evt.id == Event.WINDOW_DESTROY)
{
System.exit(0);
return true;
}
return super.handleEvent(evt);
}
public static void main(String argv[]) throws SQLException,Exception
{
//设定查询字串
String queryString = "select * from Customers";
JDBCTest myJDBCTest = new JDBCTest();
//加载驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//建立连接
Connection myConn =
DriverManager.getConnection("jdbc:odbc:Northwind","forum","forum");
Statement myStmt = myConn.createStatement();
//执行查询
ResultSet myResults = myStmt.executeQuery(queryString);
myJDBCTest.displayResults(myResults);
//关闭所有打开的资源
myResults.close();
myStmt.close();
myConn.close();
}
}
------------------------------
我已经调试通过了;如果你的机器环境没有问题,那么这个例子可以正常运行的。
|
classpath没有包括com.microsoft.jdbc.sqlserver.SQLServerDriver所在的目录或者包吧?
|
sqlserver 2000 for jdbc 有三个jar文件,要在classpath中进行设置。
看你的错误信息好像没有找到驱动程序。
看你的错误信息好像没有找到驱动程序。