我想在java中获取我的列类型 我这样做:
ResultSetMetaData rsmd = rs.getMetaData();
int type = 0;
for (int i = 0; i < rsmd.getColumnCount(); i++) {
type = rsmd.getColumnType(i);
if (type == Types.VARCHAR) {
System.out.println("str");
} else if (type == Types.INTEGER){
System.out.println("int");
}
}
此代码适用于字符串,但它不适用于sql中的number
类型
同样在the list of types中没有数字类型?
我该如何解决这个问题?
修改
Types.NUMERIC
是正确答案
答案 0 :(得分:1)
ResultSetMetaData列索引是从1开始的,而不是从0开始,使用switch语句。在SQL中声明为INTEGER的列返回的JDBC类型可能因您的RDBMS而异。
Dim i as Integer
For i=2 to 341
Sheets(i).Select
Range("A10:J10").Select
Range("J10").Activate
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("COMBINATION").Select
NextFree = Range("A10:A" & Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Range("A" & NextFree).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next i