
java 数据库已经连接上,但是resultset得到Statement执行查询时,出错 15
importjava.sql.*;publicclassDB{publicDB(){try{System.out.println("开始连接数据库...");Class....
import java.sql.*;
public class DB{
public DB(){
try{
System.out.println("开始连接数据库...");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con=DriverManager.getConnection("jdbc:sqlserver://localhost;1433;database=students","sa","");
System.out.println("已经成功连接数据库...");
st=con.createStatement();
System.out.println("st已经通过。。。");
rs=st.executeQuery("'select * from xs'");
System.out.println("rs已经通过。。。");
}catch(Exception e)
{
e.printStackTrace();
System.out.println("连接失败,请从新尝试...");
}
finally{
}
}
Connection con;
Statement st;
ResultSet rs;
String sql="select * from [xs]";
}
错误结果是:
开始连接数据库...
已经成功连接数据库...
st已经通过。。。
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第 1 行: 'select * from xs' 附近有语法错误。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at pg1.DB.<init>(DB.java:15)
at pg1.Main.main(Main.java:5)
连接失败,请从新尝试...
那个老兄帮帮忙看下
st=con.createStatement();
System.out.println("st已经通过。。。");
rs=st.executeQuery("select * from xs");
System.out.println("rs已经通过。。。");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
System.out.println("连接失败,请从新尝试...");
}catch(SQLException se){
se.printStackTrace();
System.out.println("数据库语句有问题...");
}
结果如下:
开始连接数据库...
已经成功连接数据库...
st已经通过。。。
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'xs' 无效。
at pg1.DB.<init>(DB.java:15)
at pg1.Main.main(Main.java:5)
数据库语句有问题... 展开
public class DB{
public DB(){
try{
System.out.println("开始连接数据库...");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con=DriverManager.getConnection("jdbc:sqlserver://localhost;1433;database=students","sa","");
System.out.println("已经成功连接数据库...");
st=con.createStatement();
System.out.println("st已经通过。。。");
rs=st.executeQuery("'select * from xs'");
System.out.println("rs已经通过。。。");
}catch(Exception e)
{
e.printStackTrace();
System.out.println("连接失败,请从新尝试...");
}
finally{
}
}
Connection con;
Statement st;
ResultSet rs;
String sql="select * from [xs]";
}
错误结果是:
开始连接数据库...
已经成功连接数据库...
st已经通过。。。
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第 1 行: 'select * from xs' 附近有语法错误。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at pg1.DB.<init>(DB.java:15)
at pg1.Main.main(Main.java:5)
连接失败,请从新尝试...
那个老兄帮帮忙看下
st=con.createStatement();
System.out.println("st已经通过。。。");
rs=st.executeQuery("select * from xs");
System.out.println("rs已经通过。。。");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
System.out.println("连接失败,请从新尝试...");
}catch(SQLException se){
se.printStackTrace();
System.out.println("数据库语句有问题...");
}
结果如下:
开始连接数据库...
已经成功连接数据库...
st已经通过。。。
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'xs' 无效。
at pg1.DB.<init>(DB.java:15)
at pg1.Main.main(Main.java:5)
数据库语句有问题... 展开
5个回答
展开全部
异常很明显的告诉你错误在哪里了。错误在这一句
rs=st.executeQuery("'select * from xs'");
你那多了一个单引号,应该改为
rs=st.executeQuery("select * from xs");(里面的是SQL语句的字符串,只需要双引号就可以了),
rs=st.executeQuery("'select * from xs'");
你那多了一个单引号,应该改为
rs=st.executeQuery("select * from xs");(里面的是SQL语句的字符串,只需要双引号就可以了),
更多追问追答
追问
谢谢,我试过了,和以前是一样的,我把我新试的结果你看下,把exception细扑捉了下,肯定是数据库的那的问题,
追答
没有错,就是那一句,请确保你的表名等都没有错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql 语句前后加上空格,后面在加上分号试试。有时候有这种问题。 或者把你的SQL语句在sql2000中试试正确不正确。 我是说把你的语句复制到2000中试试。
追问
恩,一会我试试,谢谢你的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
try {
Class.forName("");
conn = DriverManager.getConnection("","","");
String sql = "";
ptmt = conn.prepareStatement(sql);
rs = ptmt.executeQuery();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Class.forName("");
conn = DriverManager.getConnection("","","");
String sql = "";
ptmt = conn.prepareStatement(sql);
rs = ptmt.executeQuery();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
追问
谢谢,但还是没解决,莫非是数据库的问题我也不知道
追答
把你url 改成:
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=students
再试试!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rs=st.executeQuery("'select * from xs'");
SQL错误。rs=st.executeQuery("select * from xs");
多了两个' '
SQL错误。rs=st.executeQuery("select * from xs");
多了两个' '
追问
去了也是一样,我试过了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql语句异常,建议你好好检查下sql语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询