Có rs
, một thể hiện của java.sql.ResultSet, cách kiểm tra xem nó có chứa cột có tên là "theColumn" không?Làm cách nào để kiểm tra xem ResultSet có chứa một trường được đặt tên cụ thể không?
Trả lời
Bạn có thể sử dụng ResultSetMetaData để lặp qua các cột ResultSet và xem nếu cột tên khớp với tên cột được chỉ định của bạn.
Ví dụ:
ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();
// get the column names; column indexes start from 1
for (int i = 1; i < numberOfColumns + 1; i++) {
String columnName = rsMetaData.getColumnName(i);
// Get the name of the column's table name
if ("theColumn".equals(columnName)) {
System.out.println("Bingo!");
}
}
@Ivan, lưu ý rằng có một số phức tạp nếu bạn sử dụng bí danh (SELECT col AS foo). http://bugs.mysql.com/bug.php?id=43684 –
@JoshuaMartell, 'ResultSetMetaData.getColumnLabel' có thể được sử dụng nếu muốn nhận tên như được xác định bởi mệnh đề' AS' của truy vấn SQL – Santosh
Hãy thử sử dụng các phương pháp ResultSet#findColumn(String)
private boolean isThere(ResultSet rs, String column)
{
try
{
rs.findColumn(column);
return true;
} catch (SQLException sqlex)
{
logger.debug("column doesn't exist {}", column);
}
return false;
}
Không phải là trường hợp ngoại lệ chậm? – Ivan
Nó có thể được so sánh với việc thực thi Java thông thường. Hãy nhớ rằng thường tắc nghẽn không phải là mã Java nhưng các thins đang chạy ở phía bên kia - cơ sở dữ liệu. Hầu hết có thể thực hiện truy vấn và vận chuyển dữ liệu là ít đơn đặt hàng của cường độ chậm hơn so với xử lý ngoại lệ. –
Phương pháp TIS hoạt động tốt với các bí danh trong mysql. – bancer
Bạn có thể làm:
rs.findColumn("theColum")
và kiểm tra các SQLException
Vâng, cách dễ nhất tôi nghĩ là cố gắng truy lục cột này theo cách này hay cách khác và bắt ngoại lệ. – Jay
đây thường là một giải pháp tồi vì bạn đang cố tình ném một ngoại lệ cho trường hợp phổ biến, ném ngoại lệ cho trường hợp hiếm hoi và tốn kém về tài nguyên –
Sử dụng các đối tượng ResultSetMetaData được cung cấp bởi các đối tượng ResultSet
qua rs.getMetaData()
Sử dụng lớp ResultSetMetaData
.
public static boolean hasColumn(ResultSet rs, String columnName) throws SQLException {
ResultSetMetaData rsmd = rs.getMetaData();
int columns = rsmd.getColumnCount();
for (int x = 1; x <= columns; x++) {
if (columnName.equals(rsmd.getColumnName(x))) {
return true;
}
}
return false;
}
- 1. Để kiểm tra xem chuỗi có chứa từ cụ thể
- 2. Làm cách nào để kiểm tra xem một mảng có chứa một giá trị cụ thể trong php không?
- 3. Làm cách nào để kiểm tra xem phông chữ nào có chứa một ký tự cụ thể với perl?
- 4. Cách kiểm tra xem NSArray có chứa đối tượng của một lớp cụ thể không?
- 5. Làm cách nào để kiểm tra xem một ngoại lệ cụ thể có bị ném không?
- 6. Cách kiểm tra xem tệp có chứa chuỗi cụ thể không bằng cách sử dụng bash
- 7. Làm thế nào để kiểm tra xem resultset có một hàng hay nhiều hơn?
- 8. Làm cách nào để kiểm tra xem chuỗi chuỗi có chứa một chuỗi trong JavaScript không?
- 9. Làm cách nào để kiểm tra xem đối tượng có thuộc loại cụ thể không?
- 10. Làm cách nào để kiểm tra xem một trường có tồn tại hay không trong MongoDB?
- 11. Làm thế nào để kiểm tra xem một chuỗi có thể được sử dụng như một tên biến trong PHP?
- 12. Kiểm tra xem cookie có được đặt
- 13. Làm thế nào để kiểm tra xem C# Hashtable có chứa cặp khóa/giá trị cụ thể không?
- 14. Làm cách nào để kiểm tra xem một ListView có chứa một tiêu đề được chỉ định không?
- 15. Javascript - kiểm tra xem div có chứa một từ không?
- 16. Kiểm tra xem chuỗi có chứa số
- 17. Cách kiểm tra xem chuỗi có chứa chỉ các ký tự cụ thể
- 18. Làm cách nào để kiểm tra xem biến môi trường chưa được đặt hoặc được đặt thành chuỗi rỗng?
- 19. jQuery - Cách kiểm tra xem có liên kết nào được nhấp vào một DIV cụ thể không?
- 20. kiểm tra xem có thư mục có tên bắt đầu bằng một chuỗi cụ thể
- 21. Cách kiểm tra xem JCheckBox có được kiểm tra không?
- 22. Trong Java, làm thế nào tôi có thể kiểm tra xem một bộ sưu tập có chứa một cá thể của một lớp cụ thể không?
- 23. Làm cách nào để kiểm tra xem chuỗi có chứa ngày không?
- 24. Python: Làm cách nào để kiểm tra xem chuỗi unicode có chứa một ký tự được sắp xếp không?
- 25. Làm thế nào để kiểm tra xem tuple có chứa một phần tử trong Python không?
- 26. Làm cách nào để kiểm tra xem biến có chứa lambda không?
- 27. Cách kiểm tra xem một mảng có chứa một giá trị cụ thể trong Scala 2.8 không?
- 28. Làm cách nào để kiểm tra xem bảng có chứa phần tử trong Lua không?
- 29. Làm cách nào để kiểm tra xem chuỗi Perl có chứa chữ cái không?
- 30. Kiểm tra xem chuỗi có chứa Asterisk (*)
thể trùng lặp của [Làm thế nào tôi có thể xác định tên cột tồn tại trong ResultSet?] (Http://stackoverflow.com/questions/3599861/how-can-i-determine-if-the- column-name-exist-in-the-resultset) – Riduidel
bản sao có thể có của [Làm cách nào để kiểm tra xem liệu tên cột có tồn tại trong một CachedRowSet không?] (http://stackoverflow.com/questions/462534/how-do- i-check-to-see-if-a-cột-tên-tồn tại-trong-một-cachedrowset) – bluish