大侠帮忙!.net读取Oracle数据库速度慢,看一下我的读取方法是否有问题!谢谢
是否有垃圾回收机制有关系。。。请高手指明
/// <summary>
/// 根据条件获得数据列表
/// </summary>
public static List<wlzd> GetList(string strWhere,string tableName)
{
List<wlzd> modelList = new List<wlzd>();
Connection connect = new Connection();OracleConnection con = connect.getConnection();
OracleCommand com = new OracleCommand();
com.Connection = con;
com.CommandType = CommandType.Text;
StringBuilder strSql = new StringBuilder("");
strSql.Append("select WLZD_WLBM,WLZD_TZ1,WLZD_TZ2,WLZD_TZ3,WLZD_JLDW,WLZD_QC,WLZD_JC,WLZD_TJR,WLZD_TJRQ,WLZD_BZDM,WLZD_CPDM,WLZD_CPMC,WLZD_BZ,WLZD_CMS,WLZD_DMS,WLZD_CPBZ,WLZD_JBJLDW,WLZD_JBJD,WLZD_TJJDM,WLZD_HGDM,WLZD_FLM,WLZD_YWMC,WLZD_YWJC,WLZD_ZYJD,WLZD_TM,WLZD_ZJM,WLZD_WLSM,WLZD_GRAPH ");
strSql.Append(" FROM "+tableName);
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
com.CommandText = strSql.ToString();
try
{
com.Connection.Open();
OracleDataReader read = com.ExecuteReader();
while (read.Read())
{
wlzd model = new wlzd();
model.wlzd_wlbm = read["WLZD_WLBM"].ToString();
model.wlzd_tz1 = read["WLZD_TZ1"].ToString();
model.wlzd_tz2 = read["WLZD_TZ2"].ToString();
model.wlzd_tz3 = read["WLZD_TZ3"].ToString();
model.wlzd_jldw = read["WLZD_JLDW"].ToString();
model.wlzd_qc = read["WLZD_QC"].ToString();
model.wlzd_jc = read["WLZD_JC"].ToString();
model.wlzd_tjr = read["WLZD_TJR"].ToString();
model.wlzd_tjrq = read["WLZD_TJRQ"].ToString();
model.wlzd_bzdm = read["WLZD_BZDM"].ToString();
model.wlzd_cpdm = read["WLZD_CPDM"].ToString();
model.wlzd_cpmc = read["WLZD_CPMC"].ToString();
model.wlzd_bz = read["WLZD_BZ"].ToString();
model.wlzd_cms = read["WLZD_CMS"].ToString();
model.wlzd_dms = read["WLZD_DMS"].ToString();
model.wlzd_cpbz = read["WLZD_CPBZ"].ToString();
model.wlzd_jbjldw = read["WLZD_JBJLDW"].ToString();
if (read["WLZD_JBJD"].ToString() != "")
{
model.wlzd_jbjd = int.Parse(read["WLZD_JBJD"].ToString());
}
model.wlzd_tjjdm = read["WLZD_TJJDM"].ToString();
model.wlzd_hgdm = read["WLZD_HGDM"].ToString();
model.wlzd_flm = read["WLZD_FLM"].ToString();
model.wlzd_ywmc = read["WLZD_YWMC"].ToString();
model.wlzd_ywjc = read["WLZD_YWJC"].ToString();
if (read["WLZD_ZYJD"].ToString() != "")
{
model.wlzd_zyjd = int.Parse(read["WLZD_ZYJD"].ToString());
}
model.wlzd_tm = read["WLZD_TM"].ToString();
model.wlzd_zjm = read["WLZD_ZJM"].ToString();
model.wlzd_wlsm = read["WLZD_WLSM"].ToString();
model.wlzd_graph = read["WLZD_GRAPH"].ToString();
modelList.Add(model);
}
}
catch
{
com.Connection.Close();
modelList = null;
}
finally
{
com.Dispose();
}
return modelList;
}
界面利用repeater 显示 --------------------编程问答-------------------- 你每次读出的数据有多少条? --------------------编程问答-------------------- string.IsNullOrEmpty(read["WLZD_ZYJD"].ToString()?"":""
使用分页查询数据库数据
SELECT id, pid, NAME
FROM (SELECT t.*, rownum rn
FROM (SELECT * FROM person t ORDER BY id) t
WHERE rownum <= 20)
WHERE rn >= 10; --------------------编程问答--------------------
--------------------编程问答-------------------- 有分页查询,我只是说了个例子, 多人访问,现在反映很慢;于框架有关系吗 --------------------编程问答-------------------- 我建议还是换成dataset试试。 --------------------编程问答-------------------- 还有就是可以借助于缓存。 --------------------编程问答--------------------
using (OracleConnection connection = new OracleConnection(connectionString))
{
OracleCommand command = new OracleCommand(queryString);
command.Connection = connection;
try
{
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
+10
补充:.NET技术 , ASP.NET