va.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setByte(i + 1, java.lang.Byte.parseByte((String) v));
} else {
pstmt.setByte(i + 1, java.lang.Byte.parseByte(v.toString()));
}
continue;
}
if (className.equals("java.math.BigDecimal")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setBigDecimal(i + 1, new BigDecimal((String) v));
} else {
pstmt.setBigDecimal(i + 1, (BigDecimal) v);
}
continue;
}
//以下部分将根据具体的
数据库需要而定,有待验证
if (className.equals("java.sql.Clob")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setString(i + 1, (String) v);//给clob类型的字段赋予字符串型
} else {
pstmt.setClob(i + 1, (java.sql.Clob) v);
}
continue;
}
if (className.equals("java.sql.Array")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
//
} else {
pstmt.setArray(i + 1, (java.sql.Array) v);
}
continue;
}
//特殊类型,非常用,置后
if (className.equals("com.sybase.jdbc2.tds.SybTimestamp") || className.toLowerCase().indexOf("timestamp") > 0) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setTimestamp(i + 1, java.sql.Timestamp.valueOf((String) v));
} else {
pstmt.setTimestamp(i + 1, (java.sql.Timestamp) v);
}
continue;
}
//概略匹配
if (className.toLowerCase().indexOf("date") > 0) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setDate(i + 1, java.sql.Date.valueOf((String) v));
} else {
pstmt.setDate(i + 1, new java.sql.Date(((java.util.Date) v).getTime()));
}
continue;
}
if (className.toLowerCase().indexOf("time") > 0) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setTime(i + 1, java.sql.Time.valueOf((String) v));
} else {
pstmt.setTime(i + 1, (java.sql.Time) v);
}
continue;
}
if (_c.equals("java.io.FileInputStream")) {
//调用如:FileInputStream in = new FileInputStream("D:\\test.jpg");的结果
pstmt.setBinaryStream(i + 1, (FileInputStream) v, ((FileInputStream) v).available());
continue;
}//java.io.FileInputStream
//其它特殊类型,非常用,置后
}
}
}
num = num + pstmt.executeUpdate();
}
附:应当实现的PreparedStatement插入记录的赋值方法清单
[java]
//以下列出所有的PreparedStatement支持的数据类型,大约28个数据类型,近50个方法
java.util.Calendar calendar