包:com.gdxsoft.easyweb.datasource.DataConnection
处理ListFrame的日期查询的参数问题,首先将字符串处理为日期型,然后根据数据库类型转换为SQL日期表达式
/**
* 获取ListFrame查询的日期表达式
*
* @param s1
* @return
*/
public String getDateTimePara(String s1) {
if (s1 == null || s1.trim().length() == 0) {
return null;
}
String s2 = s1.replace("'", "");
s2 = Utils.getDateTimeString(new Date(this.getTimestamp(s2).getTime()));
if (this._DatabaseType.equals("ORACLE") || this._DatabaseType.equals("HSQLDB")) {
return "to_date('" + s2 + "','YYYY-MM-DD')";
} else {
return "'" + s2 + "'";
}
}
private java.sql.Timestamp getTimestamp(String s1) {
if (s1.indexOf(":") < 1) {
s1 = s1 + " 00:00:00.0000";
} else {
String[] s2 = s1.split(":");
if (s2.length == 2) {
s1 += ":00.0000";
} else if (s2.length == 3 && s1.indexOf(".") == -1) {
s1 += ".0000";
}
}
try {
if (this._RequestValue != null && this._RequestValue.getString("ewa_lang") != null
&& this._RequestValue.getString("ewa_lang").toUpperCase().equals("ENUS")) {
String[] s2 = s1.split(" ");
String[] s3 = s2[0].split("\\/");
if (s3.length != 3) {
return null;
}
if (this._RequestValue != null && this._RequestValue.getString("SYS_EWA_ENUS_YMD") != null
&& this._RequestValue.getString("SYS_EWA_ENUS_YMD").toLowerCase().equals("dd/mm/yyyy")) {
s1 = s3[2] + "-" + s3[1] + "-" + s3[0] + " " + s2[1];
} else {
s1 = s3[2] + "-" + s3[0] + "-" + s3[1] + " " + s2[1];
}
}
java.sql.Timestamp t1 = java.sql.Timestamp.valueOf(s1);
return t1;
} catch (Exception e) {
return null;
}
}