Rumah > Soal Jawab > teks badan
ResultSet rs= pstmt.executeQuery();//数据库返回一个结果集,现在假设select的是
数据库中没有的数据,那么结果集为空
while (rs.next())
{
String str = rs.getString("Name");//此时str应该是null?
int id = rs.getInt("Id"); //id为0?
A a= new A(id,str); //调用构造函数(定义见第二段代码),那a是什么?是
null?此构造器还会被调用吗?a这个对象会生成吗?
public final class A //这个是A类的定义,成员变量和构造函数
{
private int id;
private String name;
public A(int Id,String Word)
{
this.id = Id;
this.name = Word;
}
}
我现在项目中要通过a这个对象来判断数据库返回的是否为空集,请问该如何判断?由此引出了上述问题(具体问题可以看代码段的注释)
伊谢尔伦2017-04-18 09:36:25
Jika pangkalan data mempunyai set kosong, rs.next() akan mengembalikan false dan sementara tidak akan dilaksanakan.
Jika anda tidak tahu, adalah lebih pantas untuk mencuba helaian data kosong daripada menaip begitu banyak perkataan dan menyiarkan soalan di sini untuk menyelesaikan masalah, bukan?
PHP中文网2017-04-18 09:36:25
@min Masalah cetek telah diselesaikan, tetapi saya rasa soalan yang anda ajukan belum selesai sepenuhnya, saya masih mengesyorkan agar subjek memberi perhatian kepada new
Apa yang dilakukan oleh kata kunci:
Buat ruang dalam ingatan timbunan untuk menyimpan kejadian A
Panggil pembina A
Buka alamat pada tindanan mesin maya dan halakan alamat ke ruang timbunan yang baru dibuka
Akhirnya, A a = new A(...)
akan mendapat rujukan tindanan ini tidak akan kosong melainkan JVM
anda ranap...
伊谢尔伦2017-04-18 09:36:25
1.rs.next adalah salah, ia sepatutnya rs.hasNext(), dan hasilnya juga kosong
2 Jika null dan 0 parameter dimasukkan, objek masih akan dijana tiada alasan untuk tidak menjananya Ah, fikirkan mengapa tidak?