我有个类 连接数据库 和执行数据库的类
/**
*返回数据集(ArrayList),内部封装HashTable,一个HashTable为一行数据(key=列名,value=列值),用此方法不需要手动关闭数据库连接
*@param command 要查询的SQL语句
*@return 返回Hashtable
*@see ArrayList
*/
public ArrayList getResult(String command)
{
ArrayList list=new ArrayList();
try
{
if(st==null)link();
ResultSet set=getResultSet(command);
ResultSetMetaData meta=set.getMetaData();
String temp="";
while(set.next())
{
HashTable map=new HashTable();
int colSize=meta.getColumnCount();
for(int i=1;i<=colSize;i++)
{
if(meta.getColumnType(i)==91||meta.getColumnType(i)==93)
{
java.sql.Date tempDate=set.getDate(i);
if(tempDate==null)map.put(meta.getColumnName(i).toLowerCase(),"");
else map.put(meta.getColumnName(i).toLowerCase(),tempDate+"");
}
else
{
temp=set.getString(i);
if(temp==null)temp="";
map.put(meta.getColumnName(i).toLowerCase(),temp);
}
}
list.add(map);
}
}
catch(Exception e)
{
System.out.println(command+"\n"+e);
}
finally
{
close();
}
return list;
}下面是个方法.一查询就出错.为什么啊
public ArrayList getFindResultZG(HttpServletRequest request) throws Exception
{
java.util.Date date=new java.util.Date();
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyyMMdd");
String currentTime=formatter.format(date);
String command="select * from ts_info where ts_created='"+currentTime+"'";
ArrayList list=data.getResult(command);
return list;
}
/**
*返回数据集(ArrayList),内部封装HashTable,一个HashTable为一行数据(key=列名,value=列值),用此方法不需要手动关闭数据库连接
*@param command 要查询的SQL语句
*@return 返回Hashtable
*@see ArrayList
*/
public ArrayList getResult(String command)
{
ArrayList list=new ArrayList();
try
{
if(st==null)link();
ResultSet set=getResultSet(command);
ResultSetMetaData meta=set.getMetaData();
String temp="";
while(set.next())
{
HashTable map=new HashTable();
int colSize=meta.getColumnCount();
for(int i=1;i<=colSize;i++)
{
if(meta.getColumnType(i)==91||meta.getColumnType(i)==93)
{
java.sql.Date tempDate=set.getDate(i);
if(tempDate==null)map.put(meta.getColumnName(i).toLowerCase(),"");
else map.put(meta.getColumnName(i).toLowerCase(),tempDate+"");
}
else
{
temp=set.getString(i);
if(temp==null)temp="";
map.put(meta.getColumnName(i).toLowerCase(),temp);
}
}
list.add(map);
}
}
catch(Exception e)
{
System.out.println(command+"\n"+e);
}
finally
{
close();
}
return list;
}下面是个方法.一查询就出错.为什么啊
public ArrayList getFindResultZG(HttpServletRequest request) throws Exception
{
java.util.Date date=new java.util.Date();
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyyMMdd");
String currentTime=formatter.format(date);
String command="select * from ts_info where ts_created='"+currentTime+"'";
ArrayList list=data.getResult(command);
return list;
}
解决方案 »
- InputStream
- java offscreen 的问题。。
- 编译时老提醒要加-deprecation参数是什么意思?
- 如果List a=new ArrayList(),那么a!=null?
- 怎样显示ftp服务器端的文件目录啊,苦求………………!!
- 当菜单已经释放了,加载在菜单上的actionListener需不需要释放
- 我都发三回了,没人理我!
- Java 编程规范的问题, 高质量代码的困扰~ 请高手或有相关方面经验的大牛看看
- j2ee和java什么关系!java有什么用?谢谢
- 如何用JAVA读取Doc文档?(必给分)
- mysql中文问题??
- 请教大侠在Struts中的MVC2设计模式中的二个小问题,能不能给个标准的答案?谢谢!
如果是ORACLE应该是
select * from ts_info where ts_created=TO_DATE("2005-11-13","YYYY-MM-DD")
其他数据库用的少不详
meta.getColumnType(i) == 91
最好写成
meta.getColumnType(i)==java.sql.Types.***;***表示你需要的类型。