public String getSQLTypeName() { return sql_type; } public void readSQL (SQLInput stream, String type) throws SQLException { sql_type = type; first = stream.readString(); last = stream.readString(); } public void writeSQL (SQLOutput stream) throws SQLException { stream.writeString(first); stream.writeString(last); } /* * Function not required by SQLData interface, but makes * it easier for displaying results. */ public String toString() { String s = "fullname: "; s += "first: " + first + " last: " + last; return s; } } 这是 person Java 类: import java.sql.*; public class person implements SQLData { public int id;
GBase 8s JDBC Driver 程序员指南 南大通用数据技术股份有限公司 - 126 - public fullname name; public int age; private String sql_type = "person_t";
public String getSQLTypeName() { return sql_type; } public void readSQL (SQLInput stream, String type) throws SQLException { sql_type = type; id = stream.readInt(); name = (fullname)stream.readObject(); age = stream.readInt(); } public void writeSQL (SQLOutput stream) throws SQLException { stream.writeInt(id); stream.writeObject(name); stream.writeInt(age); } public String toString() { String s = "person:"; s += "id: " + id + "\n"; s += " name: " + name.toString() + "\n"; s += " age: " + age + "\n"; return s; } } 这里是访存命名的行的示例: java.util.Map map = conn.getTypeMap(); conn.setTypeMap(map); map.put("fullname_t", Class.forName("fullname")); map.put("person_t", Class.forName("person"));