0

我想用 Android 连接到 SQL Server。

这是我的代码:

Class.forName("net.sourceforge.jtds.jdbc.Driver");
conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);

try{
Statement ps = conn.createStatement();
ResultSet rs = ps.executeQuery ("select * from cliente");
.....
}
catch (SQLException e) {
e.printStackTrace();
}

如果我在三星 Galaxy Ace 中运行该应用程序,一切正常,但如果我想在另一台设备上运行它,则出现以下错误:

java.lang.NullPointerException

这个错误是一致的:

Statement ps = conn.createStatement();

我不知道为什么这取决于运行或不运行的设备。

4

1 回答 1

0
Statement ps = db.conn.createStatement(); 

这应该是

Statement ps = conn.createStatement();

这里 db 的值是nulli guss,所以你是NullPointerException从这行代码中得到的。
如有任何疑问,请告诉我。

编辑:

如果您的代码中不存在 db,则将 Sysout 设置为:

conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
Sysout.out.Println("value of conn is "+conn);

并检查 conn 的值。根据我的理解,这是无效的。

供参考:

Class.forName("net.sourceforge.jtds.jdbc.Driver");
conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);

这些牵引线必须在 try/catch 块内。

于 2013-04-22T12:19:01.930 回答