Java Database Derby Instance 1
package com.han.ch20.q1;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import com.han.Derby;
public class UpdateStu {
private static Connection conn;
private static PreparedStatement ps;
private static ResultSet rs;
private static ResultSetMetaData rsmd; // ResultSetMetaData has not the close() method
public static void main(String[] rgs){
Derby.loadDriver();// As is said in the class Derby, this action is not necessary with a JRE 1.6 and later.
try {
// create database "ch20"
conn=Derby.createDatabaseAndGetConnection("ch20", "", "");
// drop the table "tb_emp" if it exists
if(Derby.isTableExists("tb_emp", conn)){
ps=conn.prepareStatement("drop table tb_emp");
ps.execute();
}
// create a table "tb_emp" in this database
ps=conn.prepareStatement("create table tb_emp(id int, name varchar(20), department varchar(20))");
ps.execute();
// add elements into the table
ps=conn.prepareStatement("insert into tb_emp values(?,?,?)");
ps.setInt(1, 1);
ps.setString(2, "Jing LI");
ps.setString(3, "Computer technology");
ps.executeUpdate();
ps.setInt(1, 2);
ps.setString(2, "Hao LI");
ps.setString(3, "Sales department");
ps.executeUpdate();
ps.setInt(1, 3);
ps.setString(2, "Yuanyuan XIONG");
ps.setString(3, "Copumter technology");
ps.executeUpdate();
ps.setInt(1, 4);
ps.setString(2, "Mei LIU");
ps.setString(3, "Sales department");
ps.executeUpdate();
// consult the information associated with the department "Sales department"
ps=conn.prepareStatement("select * from tb_emp where department='Sales department'");
rs=ps.executeQuery();
// display the query results on the console
rsmd=rs.getMetaData();
int numberOfColumns=rsmd.getColumnCount();
String[] columnNames=new String[numberOfColumns];
String[] columnTypeNames=new String[numberOfColumns];
int[] precisions=new int[numberOfColumns];
for(int i=0;i<numberOfColumns;i++){
columnNames[i]=rsmd.getColumnName(i+1);
columnTypeNames[i]=rsmd.getColumnTypeName(i+1);
precisions[i]=rsmd.getPrecision(i+1);
System.out.println(columnNames[i]+" : "
+columnTypeNames[i]+"("
+precisions[i]+")");
}
for(int i=0;i<numberOfColumns;i++){
String columnName=columnNames[i];
if(columnName.length()>precisions[i]){
columnName=columnName.substring(0, precisions[i]);
}
 
补充:软件开发 , Java ,