gdr数据库
‘壹’ 那位大哥能帮我设计一个数据库框架(access)
学习JDBC以来一直想实现一个简单的封装来方便编程但是由于水平有限一直没有较好的办法,看了IBM开发网上的两篇文章以后感觉作者的设计思想很好一定能扩充成一个实用的JDBC封装。所以我在文章提供的源码基础上加了一些功能这些功能包括支持多种数据类型,处理了空值,利用反射方便的在Row对象和值对象之间进行转换,还有加了一个我自认为通用的DAO类来方便用户的操作。
  我把源码提供出来有两个目的一鍪窍M�馨镏�任一钩跹У某跹д呤煜�DBC,另外就是请各位高手不吝赐教,改进程序中的错误如果能将你们的对JDBC的封装方法提供出来那就更好了(不要说你们只用EJB或者Hibernate,JDO什么的?)。
  设计思想
   把DBMS抽象成类Database,这个类负责管理数据库连接以及提供表对象。
   把数据库中的一张或多张表抽象成类Table,这个类中提供对表的添加,修改,删除的JDBC封装。
   将数据库表中的一条记录抽象成类Row,这个类用HashMap保存关系数据库中表格中一行数据的字段名和值并提供一些相关操作。另外这个类还提供了两个静态方法用于在Row对象和ValueObject之间进行方便的转换。
   把对个Row的集合抽象成RowSet,这个类中用一个vector把多个Row对象保存起来并提供一些相关操作。
  代码分析
  由于已经给出源码所以我只对代码中关键的和需要注意的地方加以说明,大家可以执行源码一边演示一边体会。
   Database类源码如下: 
package com.gdr
j.util.database;
import java.sql.*;
import javax.sql.*;
import com.gdrj.util.servicelocator.*;
public class Database 
{
 /** 
 * 这个数据库连接成员只有在与数据库直接建立连接的情况下是有效的
 */ 
 private Connection conn = null;
 
 /**
 * 当这个参数有效时,表明程序是直接与数据库建立的连接而不是从连接池里取得连接 
 */
 private String url, user, password;
 /**
 * 当这个参数有效时,表明程序是从连接池里取得连接。
 */ 
 private String datasource;
/**
 * 用数据库地址,用户名,密码初始化数据库对象,这个构造器用于程序是直接 
 * 与数据库建立连接的情况。 
 * @param url
 * @param user 
 * @param password
 */
 public Database(String url, String user, String password) 
 {
  this.url = url; 
  this.user = user;
  this.password = password; 
 }
 /**
 * 用JNDI数据源名初始化数据库对象,这个构造器用于从连接池取数据库连接的情况。 
 * @param datasource
 */ 
 public Database(String datasource)
 {
  this.datasource = datasource;
 }
 /**
 * 得到数据库连接,对于是否从连接池里取连接做了自动处理即根据用户调用了哪个构造器 
 * 来判断是否直接与数据库建立连接还是从连接池里取连接。 
 * 对于用户来说不用考虑程序是从那里取得连接,他只管正确的初始化数据库对象。 
 * @return * @throws SQLException 
 */
public Connection getConnection() throws Exception
 {
  if (datasource == null) 
  {
   //直接与数据库建立连接 
   if (conn == null)
   {
    conn = DriverManager.getConnection(url, user, password);
   }
  }
  else 
  {
   //从应用服务器的连接池里取得连接 
   ServiceLocator sl = ServiceLocator.getInstance();
   DataSource ds = sl.getDataSource(datasource);
   return ds.getConnection();
   //每调用一次都返回一个连接池中的数据库连接 
  }
  return conn;
 }
 /**
 * 释放连接,如果是直接与数据库连接的情况则什么也不做 
 * 如果是从连接池中取得的�幽敲词头糯�吹牧�?
 * @param conn 
 */
 public void disConnect(Connection connection) 
 {
  if (datasource != null)
  {
   //只处理从连接池取连接的情况 
   try
   {
    if (connection != null)
    {
     connection.close();
    }
   }
   catch (Exception ex) {} 
  }
 }
 /**
 * 得到与参数名对应的表对象,注意这里不作任何数据库操作 
 * @param name 
 * @return
 */
 public Table getTable(String name)
 {
  return new Table(this, name);
 }
} 
  这个类是对DBMS的抽象,所以使用时应用程序中只要有一个Database对象就够了,如果你是以与数据库之间建立连接的方式使用那么你用Database(String url, Stri
ng user, String password)构造器进行初始化。如果是从应用服务器的连接池中取得连接的方式使用那么用Database(String datasource)构造器初始化,这样以后你使用这个对象进行getConnection和disConnection时就挥萌タ悸鞘贾毡3忠桓隽�?C/S方式),还是将连接返回连接池了因为在disConnection中已经做了处理。集体使用方法将Table类。在getConnection中的从连接池中取连接的代码你只要参考以下《J2EE核心模式》中的服务定位器模式就知道是怎么回事了,你在用Database(String url, String user, String password)初始化时其中的代码不起作用。
  Table类源码如下:
package com.gdrj.util.database;
import java.sql.*;
import java.util.*;
import com.gdrj.util.*;
public class Table 
{
 /**
 * 通过这个数据库对象得到数据库连接 
 */ 
 private Database database;
 /**
 * 数据库中一个或多个(只限查询)表的名 
 */
 private String name;
 /**
 * 初始化表对象,此时不作任何数据库相关操作 
 * 一般通过database的getTable调用
 * @param database 
 * @param name
 */
 public Table(Database database, String name) 
 {
  this.database = database;
  this.name = name;
 }
 /**
 * 查询某一行 
 * @return
 */
 public Row getRow(String fields, String criteria, Object[] args)
  throws DBAccessException 
 {
  RowSet rows = executeQuery(fields, criter
ia, args);
  if (rows == null) 
  { 
   return null;
  }
  return rows.get(0); 
 } 
 /** 
 * 得到一个多行记录 
 * @param criteria 查询条件 
 * @param args 查询条件的参数列表 
 * @return
 */
 public RowSet getRows(String fields, String criteria, Object[] args)
 throws DBAccessException
 {
  return executeQuery(fields, criteria, args);
 }
 /**
 * 执行SQL查询 
 * @param fields 要查询的字段,如果传入null则表示查询表中所有字段 
 * @param criteria用户输入的查询Where条件 
 * @param args 用到的参数数组 
 * @return 返回符合结果行集 
 */
 private RowSet executeQuery(String fields, String criteria, Object[] args)
 throws DBAccessException 
 {
  Connection conn = null;
  RowSet rows = new RowSet();
  String sql = null; 
  if (fields == null)
  {
   fields = "*";
  }
  try 
  {
   conn = database.getConnection(); 
   //取得数据库连接,在方法内部对不同的连接情况进行了处理 
   sql = "select " + fields + " from " + name + ( (criteria == null) ? "" : (" where " + criteria));
   PreparedStatement pstmt = conn.prepareStatement(sql);
   if (args != null)
   {
    //如果有查询参数则设置参数 
    for (int i = 0; i < args.length; i++) 
    {
     pstmt.setO
bject(i + 1, args[i]); 
    }
   }
   ResultSet rs = pstmt.executeQuery();
   ResultSetMetaData rsmd = rs.getMetaData();
   int cols = rsmd.getColumnCount(); 
   /**@todo 判断是否为零*/ 
   if (cols == 0) { return null; }
   while (rs.next())
   {
    Row row = new Row();
    for (int i = 1; i <= cols; i++) 
    {
     String name = rsmd.getColumnName(i); 
     Object value = rs.getObject(i); 
     //作通用类型处理,这样row中的类型都是Object型的。
     /**
     * 这里要做空值处理,因为在进行RowToValueObject转换时如果是空值则不能得到值的类型 
     * 所以如果是空值那么把value设置成类型信息 
     */
     if (value == null) 
     { 
      value = Class.forName(rsmd.getColumnClassName(i));
     }
     // System.out.println(value.getClass());
     //用于得到数据库中的类型对应Java中的什么类型
     row.put(name, value);
    }
    rows.add(row);
   }
   rs.close(); 
   pstmt.close();
  }
  catch (Exception ex)
  {
   throw new DBAccessException(InforGeter.getErrorInfor(this, "executeQuery", ex, "执行SQL(" + sql + ")查询时出错!"));
  }
  finally 
  {
   database.disConnect(conn); 
 
//调用数据库对象的释放连接方法(此方法内对取得连接方式的不同情况做了处理)
  }
 return rows;
}
 /**
 * 增加一行 
 * @param row 
 */
 public int putRow(Row row) throws DBAccessException 
 {
  return putRow(row, null, null);
 }
 
 /** 
 * 修改一行(没有条件就是增加) 
 * @param row
 * @param conditions
 */ 
 public int putRow(Row row, String conditions, Object[] args)
 throws DBAccessException 
 {
  String ss = ""; 
  int affectableRow = 0;
  //执行SQL后影响的行数 
  if (conditions == null)
  {
   ss = "INSERT INTO " + name + "("; 
   for (int i = 0; i < row.length(); ++i)
   {
    String k = row.getKey(i); 
    ss += k; 
    if (i != row.length() - 1)
    {
     ss += ", ";
    }
   }
   ss += ") VALUES ("; 
   for (int j = 0; j < row.length(); ++j) 
   {
    ss += (row.get(j) == null) ? "null" : "?"; 
    //如果row中有空值则设置为null,否则设置为查询参数 
    if (j != row.length() - 1) { ss += ", "; } 
   }
   ss += ")";
  }
  else
  {
   ss = "UPDATE " + name + " SET ";
   for (int i = 0; i < row.length(); ++i) 
   { 
    String k = row.getKey(i); 
    ss += k + "=" + ( (row.get(i) == null) ? "null" : "?"); 
//设置查询参数 
    if (i != row.length() - 1) { ss += ", "; } 
   }
   ss += " WHERE ";
   ss += conditions;
  }
  Connection conn = null;
  try 
  {
   conn = database.getConnection(); 
   PreparedStatement st = conn.prepareStatement(ss); 
   int j = 0;
   //查询参数计数器 
   for (int i = 0; i < row.length(); i++)
   {
    if (row.get(i) != null)
    {
     //如果不是空则解析查询参数 
     st.setObject(++j, row.get(i)); 
     //解析查询参数 
    }
   }
   if (args != null)
   {
    for (int i = 0; i < args.length; i++)
    {
     st.setObject(++j, args[i]);
     //预定的规则,null不能放到查询参数中要以name=null的静态形式存放
    }
   }
   affectableRow = st.executeUpdate();
   st.close();
  }
  catch (Exception ex) 
  {
   ex.printStackTrace();
   throw new DBAccessException(InforGeter.getErrorInfor(this, "putRow", ex, "更新表" + name + "中的数据时出错!")); 
  }
  finally 
  {
   database.disConnect(conn);
  }
  return affectableRow;
 }
 /**
 * 删除一行 
 * @param row
 */
 public int delRow(Row row) throws DBAccessException
 {
  String ss = ""; 
  int affectableRow = 0; 
  ss = "de
lete from " + name + " where "; 
  for (int i = 0; i < row.length(); ++i)
  {
   String k = row.getKey(i);
   ss += k + ((row.get(i) == null)?" is null":"=?"); 
   //设置查询参�锌罩荡�?
   if (i != row.length() - 1)
   {
    ss += " and "; 
   }
  }
  Connection conn = null; 
  try
  {
   conn = database.getConnection();
   PreparedStatement st = conn.prepareStatement(ss); 
   int j = 0;
   //查询参数计数器 
   for (int i = 0; i < row.length(); i++)
   {
    if (row.get(i) != null)
    {
     st.setObject(++j, row.get(i));
     //解析查询参数 
    }
  �
   affectableRow = st.executeUpdate(); 
   st.close();
  }
  catch (Exception ex) 
  {
   throw new DBAccessException(InforGeter.getErrorInfor(this, "delRow", ex, "删除表" + name + "中的数据时出错!")); 
  } 
  finally 
  {
   database.disConnect(conn); 
  }
  return affectableRow;
 }
 /** 
 * 有条件的删除即删除多行 
 * @param condition
 * @param args
 */
 public int delRow(String condition, Object[] args)
 throws DBAccessException
 {
  String ss = ""; 
  int affectableRow = 0; 
  ss = "delete from " + name + " where "; 
  ss += condition;
  Connection co
nn = null;
  try 
  { 
   conn = database.getConnection();
   PreparedStatement st = conn.prepareStatement(ss); 
   if (args != null)
   {
   �or (int i = 0; i < args.length; i++) 
    {
     st.setObject(i + 1, args[i]);
    }
   }
   affectableRow = st.executeUpdate(); 
   st.close();
  }
  catch (Exception ex)
  {
   throw new DBAccessException(InforGeter.getErrorInfor(this, "delRow", ex, "删除表" + name + "中的数据时出错!")); 
  }
  finally 
  {
   database.disConnect(conn);
  }
�eturn affectableRow;
 }
}  
  使用时可以用Database对象的getTable方法传入数据库表的名称来得到一个Table对象。得到这个对象后就可以对这个数据库表进行操作了,这个类提供了六个方法根据传过来的参数对数据库表进行添加修改删除操作。代码中没有特别难懂的地方,需要注意的是我在原有代码的基础上对空值进行的处理,在查询时如果表中的数据是空值的话那么我把字段对应的Java类型放到Row对象里,因为在进行Row对象到值对象的转换时用到了java反射API必须知道Row中的字段值的类型才能去调用值对象的setXXXX方法(见Row对象的toValueObject方法)。
   行对象的源码如下:
 package com.gdrj.util.database;
 import java.util.*;
 import java.math.BigDecimal;
 import java.lang.reflect.*;
 public class Row 
 {
‘贰’ 手机的内存卡里文件夹名字的意识
这些都是手机系统用来装文件的文件夹。
audio里装的是声音文件
email里装的是电子邮件
kjava里装的是java程序或java游戏
mms里装的是彩信
picture里装的是图片
video里装的是录像
system是系统文件夹里装的是系统文件。别的不太清楚了,下面的是NOKIA手机的system目录
下面介绍C:\system\Apps文件夹中一些默认的文件:
C:\system\Apps\Applnst\Appinst.ini 这个文件是用来记录安装软件的信息,随着软件安装的增多而增大。
C:\system\Apps\PhotoAlbum\PhotoAlbum.ini 图片浏览器的初始化文件
C:\system\Apps\profileApp\dbProfile.db NG的数据库文件,用来记录安装软件的信息,随着软件安装的增多而增大。
C:\system\Apps\SystemExplorer 这个文件夹就是SeleQ软件的安装文件夹
C:\system\Apps\NgageXX.tmp 临时文件,从文件名看估计时NG运行时间记录文件。
另外如果你的NG安装了Q9,在C:\system\Apps中会出现Q9FEPLoader和Q9Trad这两个文件夹。
C:\system\bootdata\ 
NG导入数据文件夹。文件夹中的CommonData.D00 FirstBoot.dat HALData.dat LocaleData.D01 SIMLanguage.dat这5个文件大小固定不变的,分别为17b、0b、16b、70b、4b。其中SIMLanguage.dat是记录SIM卡语言种类的。
C:\system\Data这个文件夹记录程序初始化或运行时的数据的。
C:\system\Data\cbs 这个文件夹下有两个dat文件,其中cbs0.dat的大小不变,为71b。
C:\system\Data\saveddecks 这个文件夹默认为空,作用与手机服务商的网络有关。
C:\system\Data\wapstore 这个文件夹主要用来存储用WAP上网时的一些设定和网页缓存。
C:\system\Data\Applications.dat NG的应用程序与游戏安装数据记录文件,随着软件安装的增多而增大。
C:\system\Data\backgroundimage.mbm NG保存在系统中的墙纸图片文件,有了这个文件就算你的JPG格式的墙纸文件丢失,墙纸也会存在,另外如果关闭墙纸功能,这个文件会自动删除。
C:\system\Data\Bookmarks.db 书签数据文件,用来记录WAP地址。
C:\system\Data\CACerts.dat 安装各种软件的证书文件
C:\system\Data\Calcsoft NG自带的计算器
C:\system\Data\Calendar NG自带的日历
C:\system\Data\CLOCKAPP.dat 时钟设定存档文件
C:\system\Data\cngsktmm.dat 如果你的Q9不是注册版,那么在使用一段时间后要手动删除这个文件,才能继续使用Q9。
C:\system\Data\CntModel.ini 电话本初始化文件
C:\system\Data\Contacts.cdb 电话本数据文件,随着电话本记录的增多而增大。
C:\system\Data\Logdbu.dat NG的通讯数据文件,包括来电,去电,通话时间,GPRS流量等等。
C:\system\Data\Notepad.dat 当你使用了记事本后会生产这个文件,如果你不想使用记事本,可以删除这个文件。
C:\system\Data\NITZ.dat 默认大小为1b
C:\system\Data\Pinboard 收藏夹数据文件
C:\system\Data\q9regdata.dat 如果你的Q9正式注册了,会生成这个文件。
C:\system\Data\RealPlayer.ini NG自带的多媒体播放器RealOne初始化文件。
C:\system\Data\SavedDecks.db 手机服务商的网络数据文件
C:\system\Data\smsreast.dat smssegst.dat NG的短信设定存档文件
C:\system\Data\Template.n01 NG短信信模版文件
C:\system\Data\UnitConverter.int NG自带的单位转换器初始化文件
C:\system\Data\VoCoSModelData.db 和媒体声音有关的数据文件
C:\system\Data\wapreast.dat WAP设定存档文件,初始化大小为59b。
C:\system\Data\yehoe134.rsc_01 如果你的Q9不是注册版,那么在使用一段时间后要手动删除这个文件,才能继续使用Q9。
C:\system\favourites 收藏夹,初始化为空。
C:\system\fep\q9xptrad.fep 与Q9有关的系统文件
C:\system\fonts Q9字体文件夹,里面有两个字体文件q9font12.gdr q9font16.gdr。
C:\system\install\install.log 在NG中安装软件的日志文件。
C:\system\install\文件夹中还会有你安装的软件的sis记录文件,比如安装SeleQ后会在这个文件夹中生成Ximplify.SeleQ.v1.65.SiS这个文件。
C:\system\Mail 短信息存储文件夹。
C:\system\Mtm\Mtm Registry v2 Z盘连接文件。
C:\system\Scheles\Scheles.dat 待办事宜数据文件。
C:\system\ShareddataNG功能设定文件,包括手机设备设置、通话设置、连接设置、时间设置、网络设置等。更改Tools-Settings里面的设置后,这个文件夹里的文件就会发生变化。
C:\System\Temp\ 存储临时文件的文件夹,初始化为空。
C:\System\Q9UNINSTALLFONTS… Q9卸载时用的文件。
C:\System\System.ini 系统初始化配置文件。
‘叁’ 如何生成awr报告
1.生成单实例 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrrpt.sql2.生成 Oracle RAC AWR 报告:@$ORACLE_HOME/rdbms/admin/awrgrpt.sql3.生成 RAC 环境中特定数据库实例的 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrrpti.sql4.生成 Oracle RAC 环境中多个数据库实例的 AWR 报告的方法:@$ORACLE_HOME/rdbms/admin/awrgrpti.sql5.生成 SQL 语句的 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrsqrpt.sql6.生成特定数据库实例上某个 SQL 语句的 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrsqrpi.sql--生成 AWR 时段对比报告7.生成单实例 AWR 时段对比报告@$ORACLE_HOME/rdbms/admin/awrddrpt.sql8.生成 Oracle RAC AWR 时段对比报告@$ORACLE_HOME/rdbms/admin/awrgdrpt.sql9.生成特定数据库实例的 AWR 时段对比报告@$ORACLE_HOME/rdbms/admin/awrddrpi.sql10.生成 Oracle RAC 环境下特定(多个)数据库实例的 AWR 时段对比报告@$ORACLE_HOME/rdbms/admin/awrgdrpi.sql来源: 51cto 作者:Oracle小混子
‘肆’ delphi能否实现用sql语句从sql的表中提取数据并进行运算
与DELPHI无关。数据库的表设计有一条重要规则,凡是可以通过表中数据运算可以得出的结果,都不要在表中另设字段。比如单价乘以数量等于金额,那么,金额这个字段就不就该在表中出现。由此可知,在SQL语句中,是可以进行数据运算的;比如表中如果已经有了出生日期这个字段,我们就不在需要年龄这段字段,但是用户在浏览查询的数据的时候,又需要看到年龄,因为谁也不愿意去根据出生年月来搬手指计算年龄。因此我们必须在显示数据的栅格表中添加一列,显示年龄,这个年龄就要在SQL语句中计算了。先在本代码段的BEGIN前面定义一个变量DQRQ:string;然后再代码段中给它赋值:dqrq:=dateTostr(date);
这样我们就可以写如下SQL语句:
'select zyid as 住院号,xm as 姓名,ryrq as 入院日期,(#'+dqrq+'# - csny)/365 as 年龄,'+
                               'jgys as 经管医生,cyrq as 出院日期,zyfy as 住院费用,'+
                               'fycdz as 费用承担者,jcrq as 交出日期,scr as 收取人,'+
                               'gdrq as 归档日期,gdr as 归档人 from bagdb '+
                               'where jcrq is null and scr is null and cyrq is not null and ryhs is not null '+
                               'ORDER BY cyrq asc';
请注意“(#'+dqrq+'# - csny)/365 as 年龄”的写法。
这是ACCESS的写法,SQL server 2000的写法有些不同。 
 
SQL server 2000的日期值是不需要#的,它的写法如:
 TB_BR_JB.RYRQ BETWEEN '''+edit15.Text+''' AND  '''+edit16.Text+''' ';RYRQ(入院日期)在表中是日期型字段。
‘伍’ 生成oracle数据库awr报告所需要的权限
1.生成单实例
awr
报告:
@$oracle_home/rdbms/admin/awrrpt.sql
2.生成
oracle
rac
awr
报告:
@$oracle_home/rdbms/admin/awrgrpt.sql
3.生成
rac
环境中特定数据库实例的
awr
报告:
@$oracle_home/rdbms/admin/awrrpti.sql
4.生成
oracle
rac
环境中多个数据库实例的
awr
报告的方法:
@$oracle_home/rdbms/admin/awrgrpti.sql
5.生成
sql
语句的
awr
报告:
@$oracle_home/rdbms/admin/awrsqrpt.sql
6.生成特定数据库实例上某个
sql
语句的
awr
报告:
@$oracle_home/rdbms/admin/awrsqrpi.sql
--生成
awr
时段对比报告
7.生成单实例
awr
时段对比报告
@$oracle_home/rdbms/admin/awrddrpt.sql
9.生成
oracle
rac
awr
时段对比报告
@$oracle_home/rdbms/admin/awrgdrpt.sql
10.生成特定数据库实例的
awr
时段对比报告
11.生成
oracle
rac
环境下特定(多个)数据库实例的
awr
时段对比报告
‘陆’ 我手机里带的卡里有N多文件
audio里装的是声音文件 
email里装的是电子邮件 
kjava里装的是java程序或java游戏 
mms里装的是彩信 
picture里装的是图片 
video里装的是录像 
system是系统文件夹里装的是系统文件。别的不太清楚了,下面的是NOKIA手机的system目录 
下面介绍C:\system\Apps文件夹中一些默认的文件: 
C:\system\Apps\Applnst\Appinst.ini 这个文件是用来记录安装软件的信息,随着软件安装的增多而增大。 
C:\system\Apps\PhotoAlbum\PhotoAlbum.ini 图片浏览器的初始化文件 
C:\system\Apps\profileApp\dbProfile.db NG的数据库文件,用来记录安装软件的信息,随着软件安装的增多而增大。 
C:\system\Apps\SystemExplorer 这个文件夹就是SeleQ软件的安装文件夹 
C:\system\Apps\NgageXX.tmp 临时文件,从文件名看估计时NG运行时间记录文件。 
另外如果你的NG安装了Q9,在C:\system\Apps中会出现Q9FEPLoader和Q9Trad这两个文件夹。 
C:\system\bootdata\ 
NG导入数据文件夹。文件夹中的CommonData.D00 FirstBoot.dat HALData.dat LocaleData.D01 SIMLanguage.dat这5个文件大小固定不变的,分别为17b、0b、16b、70b、4b。其中SIMLanguage.dat是记录SIM卡语言种类的。 
C:\system\Data这个文件夹记录程序初始化或运行时的数据的。 
C:\system\Data\cbs 这个文件夹下有两个dat文件,其中cbs0.dat的大小不变,为71b。 
C:\system\Data\saveddecks 这个文件夹默认为空,作用与手机服务商的网络有关。 
C:\system\Data\wapstore 这个文件夹主要用来存储用WAP上网时的一些设定和网页缓存。 
C:\system\Data\Applications.dat NG的应用程序与游戏安装数据记录文件,随着软件安装的增多而增大。 
C:\system\Data\backgroundimage.mbm NG保存在系统中的墙纸图片文件,有了这个文件就算你的JPG格式的墙纸文件丢失,墙纸也会存在,另外如果关闭墙纸功能,这个文件会自动删除。 
C:\system\Data\Bookmarks.db 书签数据文件,用来记录WAP地址。 
C:\system\Data\CACerts.dat 安装各种软件的证书文件 
C:\system\Data\Calcsoft NG自带的计算器 
C:\system\Data\Calendar NG自带的日历 
C:\system\Data\CLOCKAPP.dat 时钟设定存档文件 
C:\system\Data\cngsktmm.dat 如果你的Q9不是注册版,那么在使用一段时间后要手动删除这个文件,才能继续使用Q9。 
C:\system\Data\CntModel.ini 电话本初始化文件 
C:\system\Data\Contacts.cdb 电话本数据文件,随着电话本记录的增多而增大。 
C:\system\Data\Logdbu.dat NG的通讯数据文件,包括来电,去电,通话时间,GPRS流量等等。 
C:\system\Data\Notepad.dat 当你使用了记事本后会生产这个文件,如果你不想使用记事本,可以删除这个文件。 
C:\system\Data\NITZ.dat 默认大小为1b 
C:\system\Data\Pinboard 收藏夹数据文件 
C:\system\Data\q9regdata.dat 如果你的Q9正式注册了,会生成这个文件。 
C:\system\Data\RealPlayer.ini NG自带的多媒体播放器RealOne初始化文件。 
C:\system\Data\SavedDecks.db 手机服务商的网络数据文件 
C:\system\Data\smsreast.dat smssegst.dat NG的短信设定存档文件 
C:\system\Data\Template.n01 NG短信信模版文件 
C:\system\Data\UnitConverter.int NG自带的单位转换器初始化文件 
C:\system\Data\VoCoSModelData.db 和媒体声音有关的数据文件 
C:\system\Data\wapreast.dat WAP设定存档文件,初始化大小为59b。 
C:\system\Data\yehoe134.rsc_01 如果你的Q9不是注册版,那么在使用一段时间后要手动删除这个文件,才能继续使用Q9。 
C:\system\favourites 收藏夹,初始化为空。 
C:\system\fep\q9xptrad.fep 与Q9有关的系统文件 
C:\system\fonts Q9字体文件夹,里面有两个字体文件q9font12.gdr q9font16.gdr。 
C:\system\install\install.log 在NG中安装软件的日志文件。 
C:\system\install\文件夹中还会有你安装的软件的sis记录文件,比如安装SeleQ后会在这个文件夹中生成Ximplify.SeleQ.v1.65.SiS这个文件。 
C:\system\Mail 短信息存储文件夹。 
C:\system\Mtm\Mtm Registry v2 Z盘连接文件。 
C:\system\Scheles\Scheles.dat 待办事宜数据文件。 
C:\system\ShareddataNG功能设定文件,包括手机设备设置、通话设置、连接设置、时间设置、网络设置等。更改Tools-Settings里面的设置后,这个文件夹里的文件就会发生变化。 
C:\System\Temp\ 存储临时文件的文件夹,初始化为空。 
C:\System\Q9UNINSTALLFONTS… Q9卸载时用的文件。 
C:\System\System.ini 系统初始化配置文件。
我在网上找到的 你可能会用的到
************************************************************
KJAVA 是 百宝箱   你如果是移动用户  可以登陆 
wap.idsk.com  或者 wap.joyes.com
下载游戏 直接到 手机中的 KJAVA 中不用数据线
‘柒’ SQL Server 2008 R2中数据库备份成功,但还原却提示有异常,求解。
这种备份不需要备份日志,如果备份有异常,可以考虑换一种备份方式:
 
1、分离数据库;
2、把数据库拷贝走
3、把拷贝的数据库附加到新的数据库下,就可以了;
4、原来的数据库也附加回去,完成!
‘捌’ 系统结构设计
一、用户需求分析
全面深入地了解掌握用户需求是作出一个优良的系统设计的关键,也是系统生命力的保证。在需求分析阶段,系统设计者应当完全确定用户的工作范围与流程。据此,确定系统的全部数据及相应处理,绘出系统数据流图,从而产生整个评价系统的逻辑模型。
针对地质灾害灾情评估的特点,可以归纳为五个方面的需求,即:①数据维护;②物理系统(孕灾环境危险性)分析;③社会经济系统(承灾区易损性)分析;④风险分析;⑤防治效益评价。
二、设计需求
1.地质灾害系统自组织体系
地质灾害系统作为一个开放的自组织体系,在内外界持续干扰的作用下,该体系形成涨落,从而体系状态发生质变,形成一种更加稳定有序的结构。地质灾害系统是由孕灾环境、致灾因子与承灾体共同组成的地球表层变异系统。灾情则是这一体系涨落作用的产物。
2.系统硬软件环境的选择
(1)各种与IBM兼容的PC机(需带有80387浮点运算器),1兆以上内存,100兆以上硬盘,VGA以上彩色图形显示器(卡)。
(2)输入、输出设备,包括分辨率为0.1×0.1(mm)、带有国际标准数据交换格式的扫描仪(便于弧段跟踪、数据矢量化处理和数据格式转换),CALCOMP、HP系列或与之兼容的数字化仪和绘图仪。
(3)软件环境
系统采用美国环境系统研究所(ESRI)研制的PC版ARC/INFO(V3.4-PLUS)系统为基础软件。该系统是两个系统的结合,即描述地图特征和拓扑关系的ARC系统和记录属性数据的关系型数据管理INFO系统。这种混和数据模型兼顾了空间数据和非空间数据两种不同性质的数据特点,便于有效地管理这两种基本的空间数据:描述空间坐标的点、线、面特征和拓扑结构数据以及这些特性的属性数据。
3.数据库的组织结构
计算机作业较之于手工作业,在其精确度、可靠性方面具有很大的优越性。但这一切基于一个先决条件,那便是数据源的准确性。地质灾害风险评价系统涉及到的数据源较复杂,既包括自然物理数据,又包含社会经济发展数据。根据这些数据特点分为:属性库、图形库和图像库三类数据库。通过分析评价区内各灾种成灾特点、社会经济构成,收集各类数据源的数据,评价其精确度、可靠性、可利用性及相互关系,确定入库的数据项,并给出各数据项的详细定义,编辑数据词典。在各相关数据库之间建立公共特征码字段,将有助于提高数据的检索查询效率。根据系统的基本要求和地质灾害的基本规律,系统数据库组织如下:
图9-1GDRES数据库组织图
4.系统总体设计
地质灾害灾情评估系统是一类专业性的地理信息系统。其总体结构可作如下划分(图9-2):
系统运行时,用户在应用子系统中工作,由应用子系统调用系统功能模块从而完成对系统数据的处理。
用户应用子系统是系统的用户界面。此层的缺失或划分不当,系统的用户友好性无从谈起。一般而言,应用子系统对应于用户某一需求的共同作业,此层面的设计与划分一定要从用户需求出发,面向地质灾害灾情评估的实际工作程序,以系统数据流图为基础进行。
图9-2系统总体设计图
应用子系统建立在对系统功能模块的调用基础之上。系统功能模块可由支撑软件直接提供。许多支撑软件虽然功能强大,但一般都是从通用性入手考虑,具体到某一类专业应用系统,开发者仍具有一定工作量的二次开发任务,需要对系统功能模块进行扩充以满足特定需求。这类功能扩充定义又来源于上层应用子系统的操作分解,从中抽象出多个子系统中共同的操作,在此基础上开发扩充功能模块满足应用子系统的操作并优化系统整体结构。
5.GDRES结构
(1)系统组织结构的设计从实用性入手,系统组织结构必须面向实际工作内容。为此,我们结合DBMS和GIS设计的概念和原理,将系统分为如下图所示的三个层次的七个子系统:①孕灾区灾害分布分析;②孕灾区危险程度分析;③承灾区受损范围分析;④承灾区价值易损性分析;⑤灾害发生概率分析;⑥灾害强度分析;⑦灾害风险分析。灾害强度是综合考虑孕灾区危险性强度及承灾区价值易损性的结果,灾害风险分析则建立在对中间层两因素的综合分析之上。
图9-3GDRES组织结构图
(2)系统功能结构设计我们以属性数据库、空间数据库为基础,设计出面向灾害风险分析的用户应用子系统。各应用子系统都具有以下功能模块,其中包括属性数据库维护、空间数据库维护、数据检索查询、统计查询、矩阵判断、空间分析模块。所有模块以GIS、DMBS类软件支撑并根据面向任务扩展产生。模块处理结果用文本、报表及图件三种方式输出,为地质灾害的管理和防治提供决策依据。
系统功能结构图如下:
图9-4GDRES功能结构图
‘玖’ 关于手机杀毒
去KF维修下看看。 
C:\Nokia\ 
C:\system\Apps\ 
下面介绍C:\system\Apps文件夹中一些默认的文件: 
C:\system\Apps\Applnst\Appinst.ini 这个文件是用来记录安装软件的信息,随着软件安装的增多而增大。 
C:\system\Apps\PhotoAlbum\PhotoAlbum.ini 图片浏览器的初始化文件 
C:\system\Apps\profileApp\dbProfile.db NG的数据库文件,用来记录安装软件的信息,随着软件安装的增多而增大。 
C:\system\Apps\SystemExplorer 这个文件夹就是SeleQ软件的安装文件夹 
C:\system\Apps\NgageXX.tmp 临时文件,从文件名看估计时NG运行时间记录文件。 
另外如果你的NG安装了Q9,在C:\system\Apps中会出现Q9FEPLoader和Q9Trad这两个文件夹。 
C:\system\bootdata\ 
NG导入数据文件夹。文件夹中的CommonData.D00 FirstBoot.dat HALData.dat LocaleData.D01 SIMLanguage.dat这5个文件大小固定不变的,分别为17b、0b、16b、70b、4b。其中SIMLanguage.dat是记录SIM卡语言种类的。 
C:\system\Data\ 
这个文件夹记录程序初始化或运行时的数据的。 
C:\system\Data\cbs 这个文件夹下有两个dat文件,其中cbs0.dat的大小不变,为71b。 
C:\system\Data\saveddecks 这个文件夹默认为空,作用与手机服务商的网络有关。 
C:\system\Data\wapstore 这个文件夹主要用来存储用WAP上网时的一些设定和网页缓存。 
C:\system\Data\Applications.dat NG的应用程序与游戏安装数据记录文件,随着软件安装的增多而增大。 
C:\system\Data\backgroundimage.mbm NG保存在系统中的墙纸图片文件,有了这个文件就算你的JPG格式的墙纸文件丢失,墙纸也会存在,另外如果关闭墙纸功能,这个文件会自动删除。 
C:\system\Data\Bookmarks.db 书签数据文件,用来记录WAP地址。 
C:\system\Data\CACerts.dat 安装各种软件的证书文件 
C:\system\Data\Calcsoft NG自带的计算器 
C:\system\Data\Calendar NG自带的日历 
C:\system\Data\CLOCKAPP.dat 时钟设定存档文件 
C:\system\Data\cngsktmm.dat 如果你的Q9不是注册版,那么在使用一段时间后要手动删除这个文件,才能继续使用Q9。 
C:\system\Data\CntModel.ini 电话本初始化文件 
C:\system\Data\Contacts.cdb 电话本数据文件,随着电话本记录的增多而增大。 
C:\system\Data\Logdbu.dat NG的通讯数据文件,包括来电,去电,通话时间,GPRS流量等等。 
C:\system\Data\Notepad.dat 当你使用了记事本后会生产这个文件,如果你不想使用记事本,可以删除这个文件。 
C:\system\Data\NITZ.dat 默认大小为1b 
C:\system\Data\Pinboard 收藏夹数据文件 
C:\system\Data\q9regdata.dat 如果你的Q9正式注册了,会生成这个文件。 
C:\system\Data\RealPlayer.ini NG自带的多媒体播放器RealOne初始化文件。 
C:\system\Data\SavedDecks.db 手机服务商的网络数据文件 
C:\system\Data\smsreast.dat smssegst.dat NG的短信设定存档文件 
C:\system\Data\Template.n01 NG短信信模版文件 
C:\system\Data\UnitConverter.int NG自带的单位转换器初始化文件 
C:\system\Data\VoCoSModelData.db 和媒体声音有关的数据文件 
C:\system\Data\wapreast.dat WAP设定存档文件,初始化大小为59b。 
C:\system\Data\yehoe134.rsc_01 如果你的Q9不是注册版,那么在使用一段时间后要手动删除这个文件,才能继续使用Q9。 
C:\system\favourites 收藏夹,初始化为空。 
C:\system\fep\q9xptrad.fep 与Q9有关的系统文件 
C:\system\fonts Q9字体文件夹,里面有两个字体文件q9font12.gdr q9font16.gdr。 
C:\system\install\install.log 在NG中安装软件的日志文件。 
C:\system\install\文件夹中还会有你安装的软件的sis记录文件,比如安装SeleQ后会在这个文件夹中生成Ximplify.SeleQ.v1.65.SiS这个文件。 
C:\system\Mail 短信息存储文件夹。 
C:\system\Mtm\Mtm Registry v2 Z盘连接文件。 
C:\system\Scheles\Scheles.dat 待办事宜数据文件。 
C:\system\Shareddata\ 
NG功能设定文件,包括手机设备设置、通话设置、连接设置、时间设置、网络设置等。更改Tools-Settings里面的设置后,这个文件夹里的文件就会发生变化。 
C:\System\Temp\ 存储临时文件的文件夹,初始化为空。 
C:\System\Q9UNINSTALLFONTS… Q9卸载时用的文件。 
C:\System\System.ini 系统初始化配置文件。 
除了以上说了的,其他全删除了也行,还能清理一下呢。。。不过其实只用网秦就可以了啊。。。干吗还这么麻烦。。。呵呵~~要选我为正确答案哦。。
‘拾’ 数据库:Oracle 11g AWR 系列五:如何生成 AWR 报告
1.生成单实例 AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
2.生成 Oracle RAC AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrgrpt.sql
3.生成 RAC 环境中特定数据库实例的 AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrrpti.sql
4.生成 Oracle RAC 环境中多个数据库实例的 AWR 报告的方法:
@$ORACLE_HOME/rdbms/admin/awrgrpti.sql
5.生成 SQL 语句的 AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrsqrpt.sql
6.生成特定数据库实例上某个 SQL 语句的 AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrsqrpi.sql
--生成 AWR 时段对比报告
7.生成单实例 AWR 时段对比报告
@$ORACLE_HOME/rdbms/admin/awrddrpt.sql
9.生成 Oracle RAC AWR 时段对比报告
@$ORACLE_HOME/rdbms/admin/awrgdrpt.sql
10.生成特定数据库实例的 AWR 时段对比报告
11.生成 Oracle RAC 环境下特定(多个)数据库实例的 AWR 时段对比报告
