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)
数据库语句有问题...
展开
 我来答
yingaizhu9999
2011-06-21 · TA获得超过1188个赞
知道小有建树答主
回答量:714
采纳率:0%
帮助的人:477万
展开全部
异常很明显的告诉你错误在哪里了。错误在这一句
rs=st.executeQuery("'select * from xs'");
你那多了一个单引号,应该改为
rs=st.executeQuery("select * from xs");(里面的是SQL语句的字符串,只需要双引号就可以了),
更多追问追答
追问
谢谢,我试过了,和以前是一样的,我把我新试的结果你看下,把exception细扑捉了下,肯定是数据库的那的问题,
追答
没有错,就是那一句,请确保你的表名等都没有错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wl2659297
2011-06-22
知道答主
回答量:20
采纳率:0%
帮助的人:0
展开全部
sql 语句前后加上空格,后面在加上分号试试。有时候有这种问题。 或者把你的SQL语句在sql2000中试试正确不正确。 我是说把你的语句复制到2000中试试。
追问
恩,一会我试试,谢谢你的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小寶本兒
2011-06-21 · 超过11用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:31.2万
展开全部
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();
}
追问
谢谢,但还是没解决,莫非是数据库的问题我也不知道
追答
把你url 改成:
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=students
再试试!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钱不哆
2011-06-21 · 超过19用户采纳过TA的回答
知道答主
回答量:126
采纳率:0%
帮助的人:44.4万
展开全部
rs=st.executeQuery("'select * from xs'");
SQL错误。rs=st.executeQuery("select * from xs");
多了两个' '
追问
去了也是一样,我试过了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jeffsui
2011-06-21 · TA获得超过606个赞
知道小有建树答主
回答量:737
采纳率:50%
帮助的人:319万
展开全部
sql语句异常,建议你好好检查下sql语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式