Column Characteristics
In this chapter you will learn:
Getting Column Characteristics
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
/*from j a va2s . c o m*/
public class Main {
public static void main(String[] args) throws Exception {
Connection conn = getConnection();
Statement st = conn.createStatement();
st.executeUpdate("create table survey (id int,name varchar(30));");
st.executeUpdate("insert into survey (id,name ) values (1,'nameValue')");
st.executeUpdate("insert into survey (id,name ) values (2,null)");
st.executeUpdate("insert into survey (id,name ) values (3,'Tom')");
ResultSet rs = st.executeQuery("SELECT * FROM survey");
ResultSetMetaData rsmd = rs.getMetaData();
int numCols = rsmd.getColumnCount();
for (int i = 1; i <= numCols; i++) {
System.out.println("ColumnLabel:"+rsmd.getColumnLabel(i));
}
for (int i = 1; i <= numCols; i++) {
System.out.println("Auto Increment:"+rsmd.isAutoIncrement(i));
}
for (int i = 1; i <= numCols; i++) {
System.out.println(rsmd.isCaseSensitive(i));
}
for (int i = 1; i <= numCols; i++) {
System.out.println("Searchable:"+rsmd.isSearchable(i));
}
for (int i = 1; i <= numCols; i++) {
System.out.println("Currency:"+rsmd.isCurrency(i));
}
for (int i = 1; i <= numCols; i++) {
System.out.println("Allows nulls:"+rsmd.isNullable(i));
}
for (int i = 1; i <= numCols; i++) {
System.out.println("Signed:"+rsmd.isSigned(i));
}
for (int i = 1; i <= numCols; i++) {
System.out.println("Read only:"+rsmd.isReadOnly(i));
}
for (int i = 1; i <= numCols; i++) {
System.out.println("Writable:"+rsmd.isWritable(i));
}
for (int i = 1; i <= numCols; i++) {
System.out.println("Definitely Writable:"+rsmd.isDefinitelyWritable(i));
}
rs.close();
st.close();
conn.close();
}
private static Connection getConnection() throws Exception {
Class.forName("org.hsqldb.jdbcDriver");
String url = "jdbc:hsqldb:mem:data/tutorial";
return DriverManager.getConnection(url, "sa", "");
}
}
The code above generates the following result.
ColumnLabel:ID//from j av a 2 s . co m
ColumnLabel:NAME
Auto Increment:false
Auto Increment:false
false
true
Searchable:true
Searchable:true
Currency:false
Currency:false
Allows nulls:1
Allows nulls:1
Signed:true
Signed:false
Read only:false
Read only:false
Writable:false
Writable:false
Definitely Writable:false
Definitely Writable:false
Next chapter...
What you will learn in the next chapter:
Home » Java Tutorial » Statements, ResultSet, Exception, Warning