📄 sqlserveradapter.java
字号:
package com.hongshee.ejforum.data.sql;
/**
* <p>Title: SqlServerAdapter.java</p>
* <p>Description: SqlServerAdapter</p>
* <p>Copyright: Hongshee Software (c) 2007</p>
* @author jackie du
* @version 1.0
*/
import java.lang.reflect.Field;
import com.hongshee.ejforum.data.SqlAdapter;
public class SqlServerAdapter extends SqlAdapter
{
public SqlServerAdapter()
{
}
public void init() throws Exception
{
Field[] fields = super.getClass().getFields();
Object fieldValue = null;
for (int i=0; i<fields.length; i++)
{
fieldValue = fields[i].get(this);
if (fieldValue != null)
{
fields[i].set(this, fieldValue.toString().replace("NOW()", "GETDATE()"));
}
}
}
public String getPageQuerySql(StringBuilder sqlBuf,
int pageNo, int pageRows, int totalCount)
{
if (pageNo == 1)
{
int p = sqlBuf.indexOf("select");
sqlBuf.insert(p+6, " TOP " + pageRows);
return sqlBuf.toString();
}
else
{
int[] pageParams = getPageQueryParams(pageNo, pageRows, totalCount);
int p = sqlBuf.indexOf("order by");
String orderBy = sqlBuf.substring(p);
String descOrderBy =
orderBy.replace("ASC","ASC1").replace("DESC", "ASC").replace("ASC1","DESC");
p = sqlBuf.indexOf("select");
sqlBuf.insert(p+6, " TOP " + pageParams[1]);
sqlBuf.insert(0, "select * from (select TOP " + pageParams[0] + " * from (");
sqlBuf.append(") page_a ").append(descOrderBy).append(") page_b ").append(orderBy);
return sqlBuf.toString();
}
}
protected int[] getPageQueryParams(int pageNo, int pageRows, int totalCount)
{
int[] result = new int[2];
int offset = pageNo * pageRows;
if (offset <= totalCount)
result[0] = pageRows;
else
{
result[0] = totalCount % pageRows;
if (result[0] == 0)
result[0] = pageRows;
}
result[1] = offset;
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -