publicstaticArrayListquery(Connectionconn,StringSqlStr){ResultSetrs=null;Statementsttm=null;ArrayListlist=newArrayList();try{sttm=conn.createStatement();rs=sttm.executeQu...
public static ArrayList query(Connection conn,String SqlStr)
{
ResultSet rs=null;
Statement sttm=null;
ArrayList list = new ArrayList();
try
{
sttm=conn.createStatement();
rs=sttm.executeQuery(SqlStr);
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
while (rs.next())
{
HashMap row = new HashMap();
for(int i=1;i<=columnCount;i++) {
String cname = rsmd.getColumnName(i);
row.put(cname, rs.getObject(i));
}
list.add(row);
}
return list;
}
catch(Exception e)
{
System.out.println( "Query database error,SQL statements for: "+ SqlStr+ "\n Error message for" + e.getMessage());
return null;
}
finally
{
try
{
if(sttm != null)
rs.close();
sttm.close();
}
catch (Exception e) {
System.out.println( "Release connection error,Error message for: " + e.getMessage());
}
}
首先放上源代码,代码的意思读取数据库的数据,然后存入到ArrayList里面
ArrayList Glasslist = EdcQueryCommon.query(conn, GlassHistSql);
for(int i=0; i< Glasslist.size();i++)
{
System.out.println(Glasslist.get(i));
}
System.out.println(Glasslist.get(i));输出结果为:
{PRODUCT_VER=00001, RECIPE_ID=null, PRODUCT=TA54601AC0, OPER_CODE=1100, GLS_ID=TA14E044AA, PLAN=null, CST_ID=TAS-004, LOT_ID=TA14E044T00, EVENT_TIME=2011-04-14 15:31:25.0, EQP_ID=null, PLAN_VER=00001, CREATE_CODE=ENG}
{PRODUCT_VER=00001, RECIPE_ID=null, PRODUCT=TA46001AC0, OPER_CODE=1400, GLS_ID=TA14E020AA, PLAN=null, CST_ID=TAS-002, LOT_ID=TA14E012T00, EVENT_TIME=2011-04-14 15:37:11.0, EQP_ID=null, PLAN_VER=00001, CREATE_CODE=ENG}
{PRODUCT_VER=00001, RECIPE_ID=null, PRODUCT=TA46001AC0, OPER_CODE=1400, GLS_ID=TA14E011AA, PLAN=null, CST_ID=TAS-001, LOT_ID=TA14E011T00, EVENT_TIME=2011-04-14 15:48:40.0, EQP_ID=null, PLAN_VER=00001, CREATE_CODE=ENG}
{PRODUCT_VER=00001, RECIPE_ID=null, PRODUCT=TA46001AC0, OPER_CODE=1100, GLS_ID=TA14E040AA, PLAN=null, CST_ID=TAS-003, LOT_ID=TA14E013T00, EVENT_TIME=2011-04-14 15:52:35.0, EQP_ID=null, PLAN_VER=00001, CREATE_CODE=ENG}
问题:因为我想取某一个值,比如取EVENT_TIME的value(2011-04-14 15:52:35.0),就想.NET的dataset一样,如果xx[i]["EVENT_TIME"],这样就可以获取EVENT_TIME的值了,请问JAVA如果用ArrayList获取?
问题解决,用HashMap,哎,还是得靠自己,补上答案希望对其他人有帮助!
ArrayList Glasslist = EdcQueryCommon.query(conn, GlassHistSql);
for(int i=0; i< Glasslist.size();i++)
{
HashMap glassMap = new HashMap();
glassMap = (HashMap) Glasslist.get(i);
System.out.println(glassMap.get("GLS_ID"));
}
展开