java连接数据库问题 不显示内容

我用java连接数据库,没有抛出任何异常,但是我想返回数据库的内容,但是就是没有相关信息。后来我想测试一下,显示连接成功。也就是Connection con的值不为null。

进一步测试,我把databasename的值改为一个我数据库中没有的数据库,但是显示依然成功,请问这是怎么回事,是驱动还是什么别的原因造成的。

29个回答

用你的代码运行了一遍 完全没有问题 问题出在
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books";//books的数据库名
这里

url中1433;后面多出了空格,找不到数据库,当然也找不到表

把你的代码贴出来

[quote]Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
[/quote]
把 .newInstance() 去掉试试

不懂了。。。
1. 试试将[quote]String sql="select * from BOOKS";[/quote]
改为 select LoginNUM from BOOKS
2. [quote]System.out.println(rs.getString("LoginNUM")); [/quote]
不要使用列标志,而是使用index ,如 rs.getString(1),可能只认大写的列名

Connection conn= DriverManager.getConnection(url, "sa","sa"); 加判断看是否链接上数据库
if(null == conn){
System.out.println("error");
}else{
//TODO 执行查询操作
}
这样看看

首先看下你有没导jar包,然后就是各种打印conn,stmt,rs看看他们都是不是为null

while(rs.next()) ?不是hasNext()?

靠,不好意识看错了,忽略我上面的

你数据库jar报引了没,还有就是你表里面有数据没,看看

package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBConnect {

public Connection getConnect(String driver, String url, String user, String pwd) {
    Connection conn = null;
    try {
        Class.forName(driver);
        conn = DriverManager.getConnection(url, user, pwd);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return conn;
}

public void closeConnect(Connection conn) {
    if(conn != null) {
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

}

package util;

import java.sql.Connection;
import java.sql.SQLException;

import java.sql.Statement;

public class SqlExecutor {

private Connection conn;
private Statement stmt;
private DBConnect db = new DBConnect();

public int[] exeBatch(String driver, String url, String user, String pwd, String[] sqls) {
    int[] result = new int[sqls.length];
    conn = db.getConnect(driver, url, user, pwd);
    try {
        stmt = conn.createStatement();
        for (int i = 0; i < sqls.length; i++) {
            if (sqls[i].endsWith(";"))
                stmt.addBatch(sqls[i]);
        }
        result = stmt.executeBatch();
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        db.closeConnect(conn);
    }
    return result;
}

}

LZ看看

共29条数据 1 3 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐