JAVA数据库连接小程序错误

来源:百度知道 编辑:UC知道 时间:2024/06/17 02:52:34
最近我开始学习JAVA数据库的编程,用的工具是myeclipse,但第一个连接程序就出现Exception in thread "main" java.lang.NullPointerException的错误,有高手能指点下吗?
我的程序如下:
package text;
import java.sql.*;
public class Fds {
public static void main(String[]args) throws SQLException
{
Connection con=null;
Statement st=null;
ResultSet rs=null;
String sql="select names from systypes";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:master","sa","4217715");
st.execute(sql);
String t=null;
while(rs.next())
{t=rs.getString("name");}
if (t!=null)
{System.out.println("name:"+t);}
if (t==null)
{System.out.println("no");}

}catch (Exception e){}
finally
{rs.close();
st.close();
con.close();

}

st.execute(sql);//这一行替换成:
st = con.createStatement();//从数据库连接取得一个处理对象
rs = st.executeQuery(sql);//查询sql,并返回一个结果集合
你没有给对象赋值就去使用,所以报空指针异常

st.execute(sql);
改成
rs=st.execute(sql);

st.execute(sql);
改成
rs=st.execute(sql);

finally
{
if(st!=null)
st.close();
if(st!=null)
con.close();
}

还有rs.getString("name"); 不对吧.你sql是names...你最好好好对照一下吧.

数据库没有连接上,
}catch (Exception e){} => }catch (Exception e){e.printStackTrace()}

能缩进一下不?

你while括号应该把if括起来才对!

package text;
import java.sql.*;
public class Fds {
      public static void main(String[] args) throws SQLException {
            Connection con = null;
            Statement st = null;