import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
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,myDate DATE);");
String INSERT_RECORD = "insert into survey(id, myDate) values(?, ?)";
PreparedStatement pstmt = conn.prepareStatement(INSERT_RECORD);
pstmt.setString(1, "1");
java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime());
pstmt.setDate(2, sqlDate);
pstmt.executeUpdate();
ResultSet rs = st.executeQuery("SELECT * FROM survey");
ResultSetMetaData rsmd = rs.getMetaData();
int numCols = rsmd.getColumnCount();
System.out.print("\t");
for (int i = 1; i <= numCols; i++) {
System.out.println(rsmd.getColumnLabel(i));
}
System.out.print("\nAuto Increment\t");
for (int i = 1; i <= numCols; i++) {
System.out.println(rsmd.isAutoIncrement(i));
}
for (int i = 1; i <= numCols; i++) {
System.out.println(rsmd.isCaseSensitive(i));
}
System.out.print("\nSearchable\t");
for (int i = 1; i <= numCols; i++) {
System.out.println(rsmd.isSearchable(i));
}
System.out.print("\nCurrency\t");
for (int i = 1; i <= numCols; i++) {
System.out.println(rsmd.isCurrency(i));
}
System.out.print("\nAllows nulls\t");
for (int i = 1; i <= numCols; i++) {
System.out.println(rsmd.isNullable(i));
}
System.out.print("\nSigned\t");
for (int i = 1; i <= numCols; i++) {
System.out.println(rsmd.isSigned(i));
}
System.out.print("\nRead only\t");
for (int i = 1; i <= numCols; i++) {
System.out.println(rsmd.isReadOnly(i));
}
System.out.print("\nWritable\t");
for (int i = 1; i <= numCols; i++) {
System.out.print(rsmd.isWritable(i));
}
System.out.print("\nDefinitely Writable\t");
for (int i = 1; i <= numCols; i++) {
System.out.println(rsmd.isDefinitelyWritable(i));
}
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", "");
}
}