??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲人成片在线观看,亚洲av无码专区在线,亚洲国产精品日韩http://www.tkk7.com/toaking/zh-cnSun, 11 May 2025 22:51:50 GMTSun, 11 May 2025 22:51:50 GMT60配置tomcathttp://www.tkk7.com/toaking/archive/2008/10/23/236093.htmlDerekDerekThu, 23 Oct 2008 01:46:00 GMThttp://www.tkk7.com/toaking/archive/2008/10/23/236093.htmlhttp://www.tkk7.com/toaking/comments/236093.htmlhttp://www.tkk7.com/toaking/archive/2008/10/23/236093.html#Feedback0http://www.tkk7.com/toaking/comments/commentRss/236093.htmlhttp://www.tkk7.com/toaking/services/trackbacks/236093.html 

Q?span style="color: #339966; font-family: ">一Q如何启动tomcat

1、在startup文g中添加如下语?br style="font-family: " /> set JAVA_HOME=c:\j2sdk1.4.0_01(视具体jdk安装入境军_)
set TOMCAT_HOME=d:\tomcat4.0(视具体tomcat安装路径军_)

2、双击tomcat下的bin文g夹中的startup文gQ启动tomcatQ启动完毕后Q?br style="font-family: " /> 打开览器,输入http://localhost:8080/然后回R卛_Q若出现tomcat主页Q则tomcat
配置成功Q否l箋配置W一?br />
Q二Q如何配|一个web应用
打开在conf文g夹中server.xml文g,扑ֈ如下的xml标记
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
                 pattern="common"/>
        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
        <Context path="/manager" docBase="manager"
         debug="0" privileged="true"/>

        <!-- Tomcat Examples Context -->
        <Context path="/examples" docBase="examples" debug="0"
                 reloadable="true" crossContext="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
                     prefix="localhost_examples_log." suffix=".txt"
           timestamp="true"/>
          <Ejb   name="ejb/EmplRecord" type="Entity"
                 home="com.wombat.empl.EmployeeRecordHome"
               remote="com.wombat.empl.EmployeeRecord"/>
          <Environment name="maxExemptions" type="java.lang.Integer"
                      value="15"/>
          <Parameter name="context.param.name" value="context.param.value"
                     override="false"/>
          <Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
                    type="javax.sql.DataSource"/>
          <ResourceParams name="jdbc/EmployeeAppDb">
            <parameter><name>user</name><value>sa</value></parameter>
            <parameter><name>password</name><value></value></parameter>
            <parameter><name>driverClassName</name>
              <value>org.hsql.jdbcDriver</value></parameter>
            <parameter><name>driverName</name>
              <value>jdbc:HypersonicSQL:database</value></parameter>
          </ResourceParams>
          <Resource name="mail/Session" auth="Container"
                    type="javax.mail.Session"/>
          <ResourceParams name="mail/Session">
            <parameter>
              <name>mail.smtp.host</name>
              <value>localhost</value>
            </parameter>
          </ResourceParams>
        </Context>
</Host>
?lt;Host>元素?有Context子元?该子元素代表一个web应用的配|?
从上可知,该host配置了两个web应用分别?
<Context path="/manager" docBase="manager"
         debug="0" privileged="true"/>
?br style="font-family: " /> <Context path="/examples" docBase="examples" debug="0"
                 reloadable="true" crossContext="true">
...
</Context>

要配|自qweb应用,也需要添加一个Context,比如向配|自qmyservletq个web
应用,首先,把myservlet站点目录复制到tomcat的webapps目录?然后在server.xml文g
中的<Host>元素下添加一个Context子元素配|?br style="font-family: " /> 如下:
<Context path="/myservlet" docBase="myservlet"
         debug="0" privileged="true"/>



Derek 2008-10-23 09:46 发表评论
]]>
DB2常用命o大全http://www.tkk7.com/toaking/archive/2008/10/09/233377.htmlDerekDerekThu, 09 Oct 2008 08:03:00 GMThttp://www.tkk7.com/toaking/archive/2008/10/09/233377.htmlhttp://www.tkk7.com/toaking/comments/233377.htmlhttp://www.tkk7.com/toaking/archive/2008/10/09/233377.html#Feedback0http://www.tkk7.com/toaking/comments/commentRss/233377.htmlhttp://www.tkk7.com/toaking/services/trackbacks/233377.html一、常用命?/strong>
1. 建立数据?a style="font-size: 14px; color: #0000ff; text-decoration: none" target="_blank">DB2_GCB
CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB
USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32
2. q接数据?
connect to sample1 user db2admin using 8301206
3. 建立别名
create alias db2admin.tables for sysstat.tables;
CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS
create alias db2admin.columns for syscat.columns;
create alias guest.columns for syscat.columns;
4. 建立?
create table zjt_tables as
(select * from tables) definition only;
create table zjt_views as
(select * from views) definition only;
5. 插入记录
insert into zjt_tables select * from tables;
insert into zjt_views select * from views;
6. 建立视图
create view V_zjt_tables as select tabschema,tabname from zjt_tables;
7. 建立触发?
CREATE TRIGGER zjt_tables_del
AFTER DELETE ON zjt_tables
REFERENCING OLD AS O
FOR EACH ROW MODE DB2SQL
Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10))
8. 建立唯一性烦?
CREATE UNIQUE INDEX I_ztables_tabname
ON zjt_tables(tabname);
9. 查看?
select tabname from tables
where tabname='ZJT_TABLES';
10. 查看?
select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as cd,LENGTH as 长度
from columns
where tabname='ZJT_TABLES';
11. 查看表结?
db2 describe table user1.department
db2 describe select * from user.tables
12. 查看表的索引
db2 describe indexes for table user1.department
13. 查看视图
select viewname from views
where viewname='V_ZJT_TABLES';
14. 查看索引
select indname from indexes
where indname='I_ZTABLES_TABNAME';
15. 查看存贮q程
SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)
FROM SYSCAT.PROCEDURES;
16. cd转换(cast)
ip datatype:varchar
select cast(ip as integer)+50 from log_comm_failed
17. 重新q接
connect reset
18. 中断数据库连?
disconnect db2_gcb
19. view application
LIST APPLICATION;
20. kill application
FORCE APPLICATION(0);
db2 force applications all (所有应用程序从数据库断开)
21. lock table
lock table test in exclusive mode
22. ׃n
lock table test in share mode
23. 昄当前用户所有表
list tables
24. 列出所有的pȝ?
list tables for system
 25. 昄当前zd数据?
list active databases
26. 查看命o选项
list command options
27. pȝ数据库目?
LIST DATABASE DIRECTORY
28. 表空?
list tablespaces
29. 表空间容?
LIST TABLESPACE CONTAINERS FOR
Example: LIST TABLESPACE CONTAINERS FOR 1
30. 昄用户数据库的存取权限
GET AUTHORIZATIONS
31. 启动实例
DB2START
32. 停止实例
db2stop
33. 表或视图Ҏ
grant select,delete,insert,update on tables to user
grant all on tables to user WITH GRANT OPTION
34. E序包特?
GRANT EXECUTE
ON PACKAGE PACKAGE-name
TO PUBLIC
35. 模式Ҏ
GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER
36. 数据库特?
grant connect,createtab,dbadm on database to user
37. 索引Ҏ
grant control on index index-name to user
38. 信息帮助 (? XXXnnnnn )
?? SQL30081
39. SQL 帮助(说明 SQL 语句的语?
help statement
例如Qhelp SELECT
40. SQLSTATE 帮助(说明 SQL 的状态和cd代码)
? sqlstate ?? class-code
41. 更改?理服务?相关的口?
db2admin setid username password
42. 创徏 SAMPLE 数据?
db2sampl
db2sampl F:(指定安装?
43. 使用操作pȝ命o
! dir
44. 转换数据cd (cast)
SELECT EMPNO, CAST(RESUME AS VARCHAR(370))
FROM EMP_RESUME
WHERE RESUME_FORMAT = 'ascii'
45. UDF
要运?DB2 Java 存储q程?UDFQ还需要更新服务器上的
DB2 数据库管理程序配|,以包括在该机器上安装 JDK 的\?
db2 update dbm cfg using JDK11_PATH d:\sqllib\java\jdk
TERMINATE
update dbm cfg using SPM_NAME sample
46. ?DB2 数据库管理程序配|?
db2 get dbm cfg
47. 索具有特权的所有授权名
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUAUTH
ORDER BY GRANTEE, GRANTEETYPE, 3
create table yhdab
(id varchar(10),
password varchar(10),
ywlx varchar(10),
kh varchar(10));
create table ywlbb
(ywlbbh varchar(8),
ywmc varchar(60))
48. 修改表结?
alter table yhdab ALTER kh SET DATA TYPE varchar(13);
alter table yhdab ALTER ID SET DATA TYPE varchar(13);
alter table lst_bsi alter bsi_money set data type int;
insert into yhdab values
('20000300001','123456','user01','20000300001'),
('20000300002','123456','user02','20000300002');
49. 业务cd说明
insert into ywlbb values
('user01','业务甌'),
('user02','业务撤消'),
('user03','费用查询'),
('user04','费用自缴'),
('user05','费用预存'),
('user06','密码修改'),
('user07','发票打印'),
('gl01','改用户基本信?),
('gl02','更改支付信息'),
('gl03','日统计功?),
('gl04','冲帐功能'),
('gl05','对帐功能'),
('gl06','计费功能'),
('gl07','l合l计')
? 目录视图说明
说明 目录视图
查约?SYSCAT.CHECKS
?SYSCAT.COLUMNS
查约束引用的?SYSCAT.COLCHECKS
关键字中使用的列 SYSCAT.KEYCOLUSE
数据cd SYSCAT.DATATYPES
函数参数或函数结?SYSCAT.FUNCPARMS
参考约?SYSCAT.REFERENCES
模式 SYSCAT.SCHEMATA
表约?SYSCAT.TABCONST
?SYSCAT.TABLES
触发?SYSCAT.TRIGGERS
用户定义函数 SYSCAT.FUNCTIONS
视图 SYSCAT.VIEWS
? 字符串类?/strong>
二进制大对象 (BLOB) 字符丌Ӏ?
字符大对?(CLOB) 字符Ԍ它的字符序列可以是单字节字符或多字节字符Q?br /> 或这两者的l合?
双字节字W大对象 (DBCLOB) 字符Ԍ它的字符序列是双字节字符?
? 数据库范?/strong>
W一U规范Ş式:表中的每一行和每一列均有一个|永远不会是一l倹{?
W二U规范Ş式:不在关键字中的每一列提供取决于整个关键字的事实?
W三U规范Ş式:每个非关键字列提供与其他非关键字列无兛_ƈ只取决于该关键字的事实?
W四U规范Ş式:没有行包含有关一个实体的两个或更多个独立的多g实?
? 数据cd
数据cd cd Ҏ?CZ或范?
CHAR(15) 定长字符?最大长度ؓ 254 'Sunny day '
VARCHAR(15) 变长字符 最大长度ؓ 4000 'Sunny day'
SMALLINT 数字 长度?2 字节_ֺ?5 位范围ؓ-32768 ?32767
INTEGER 数字 长度?4 字节_ֺ?10 位范围ؓ-2147483648 ?2147483647
REAL 数字 单精度Q?2 位近似?范围?3.402E+38?1.175E-37?
1.175E-37 ?3.402E+38或零
DOUBLE 数字 双精度Q?4 位近似?范围?1.79769E+308
?2.225E-307?2.225E-307 ?1.79769E+308或零
DECIMAL(5,2) 数字 _ֺ?5数位ؓ 2 范围?-10**31+1 ?10**31-1
DATE 日期旉 三部分?1991-10-27
TIME 日期旉 三部分?13.30.05
TIMESTAMP 日期旉 七部分?1991-10-27-13.30.05.000000
? 列函?/strong>
列函数对列中的一lD行运以得到单个l果倹{下列就是一些列函数的示例?
AVG
q回某一l中的值除以该l中值的个数的和
COUNT
q回一l行或g行或值的个数
MAX
q回一lg的最大?
MIN
q回一lg的最?
? 标量函数
标量函数对D行某个运以q回另一个倹{?br /> 下列是一些由DB2 通用数据库提供的标量函数的示例?
ABS
q回数的l对?
HEX
q回值的十六q制表示
LENGTH
q回自变量中的字节数Q对于图形字W串则返回双字节字符数。)
YEAR
抽取日期旉值的q䆾部分


Derek 2008-10-09 16:03 发表评论
]]>
l验分n交流Q常用SQL语句技?http://www.tkk7.com/toaking/archive/2007/08/01/133722.htmlDerekDerekWed, 01 Aug 2007 01:26:00 GMThttp://www.tkk7.com/toaking/archive/2007/08/01/133722.htmlhttp://www.tkk7.com/toaking/comments/133722.htmlhttp://www.tkk7.com/toaking/archive/2007/08/01/133722.html#Feedback0http://www.tkk7.com/toaking/comments/commentRss/133722.htmlhttp://www.tkk7.com/toaking/services/trackbacks/133722.html 下列语句部分?/span>Mssql语句Q不可以?/span>access中用?/span>

  SQL分类Q?/span>

  DDL?/span>数据定义语言(CREATEQ?/span>ALTERQ?/span>DROPQ?/span>DECLARE)
  DML?/span>数据操纵语言(SELECTQ?/span>DELETEQ?/span>UPDATEQ?/span>INSERT)
  DCL?/span>数据控制语言(GRANTQ?/span>REVOKEQ?/span>COMMITQ?/span>ROLLBACK)

  首先,要介l基语句Q?/span>

  1、说明:创徏数据?/span>

CREATE DATABASE database-name

  2、说明:删除数据?/span>

drop database dbname

  3、说明:备䆾sql server

  --- 创徏 备䆾数据?/span> device

USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'

  --- 开?/span> 备䆾

BACKUP DATABASE pubs TO testBack

  4、说明:创徏新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

  Ҏ已有的表创徏新表Q?/span>

AQ?/span>create table tab_new like tab_old (使用旧表创徏新表)
B
Q?/span>create table tab_new as select col1,col2… from tab_old definition only

  5、说明:

  删除新表Q?/span>drop table tabname

  6、说明:

  增加一个列Q?/span>Alter table tabname add column col type

  注:列增加后不能删除?/span>DB2中列加上后数据类型也不能改变Q唯一能改变的是增?/span>varcharcd的长度?/span>

  7、说明:

  d主键Q?/span>Alter table tabname add primary key(col)

  说明Q?/span>

  删除主键Q?/span>Alter table tabname drop primary key(col)

  8、说明:

  创徏索引Q?/span>create [unique] index idxname on tabname(col….)

  删除索引Q?/span>drop index idxname

  注:索引是不可更改的Q想更改必须删除重新建?/span>

  9、说明:

  创徏视图Q?/span>create view viewname as select statement

  删除视图Q?/span>drop view viewname
10
、说明:几个单的基本?/span>sql语句

  选择Q?/span>select * from table1 where 范围

  插入Q?/span>insert into table1(field1,field2) values(value1,value2)

  删除Q?/span>delete from table1 where 范围

  更新Q?/span>update table1 set field1=value1 where 范围

  查找Q?/span>select * from table1 where field1 like ’%value1%’ ---like的语法很_֦Q查资料!

  排序Q?/span>select * from table1 order by field1,field2 [desc]

  LQ?/span>select count * as totalcount from table1

  求和Q?/span>select sum(field1) as sumvalue from table1

  q_Q?/span>select avg(field1) as avgvalue from table1

  最大:select max(field1) as maxvalue from table1

  最:select min(field1) as minvalue from table1

  11、说明:几个高查询q算?/span>

  AQ?/span> UNION q算W?/span>

  UNION q算W通过l合其他两个l果表(例如 TABLE1 ?/span> TABLE2Qƈ消去表中M重复行而派生出一个结果表。当 ALL ?/span> UNION 一起用时Q即 UNION ALLQ,不消除重复行。两U情况下Q派生表的每一行不是来?/span> TABLE1 是来自 TABLE2?/span>

  BQ?/span> EXCEPT q算W?/span>

  EXCEPT q算W通过包括所有在 TABLE1 中但不在 TABLE2 中的行ƈ消除所有重复行而派生出一个结果表。当 ALL ?/span> EXCEPT 一起用时 (EXCEPT ALL)Q不消除重复行?/span>

  CQ?/span> INTERSECT q算W?/span>(intersect)

  INTERSECT q算W通过只包?/span> TABLE1 ?/span> TABLE2 中都有的行ƈ消除所有重复行而派生出一个结果表。当 ALL ?/span> INTERSECT 一起用时 (INTERSECT ALL)Q不消除重复行?/span>

  注:使用q算词的几个查询l果行必L一致的?/span>

  12、说明:使用外连?/span>

  A?/span>left outer joinQ?/span>

  左外q接Q左q接Q:l果集几包括q接表的匚w行,也包括左q接表的所有行?/span>

SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

  BQ?/span>right outer join:

  叛_q接(双?/span>)Q结果集既包括连接表的匹配连接行Q也包括双接表的所有行?/span>

  CQ?/span>full outer joinQ?/span>

  全外q接Q不仅包括符可接表的匹配行Q还包括两个q接表中的所有记录?/span>

  其次Q大家来看一些不错的sql语句

  1、说明:复制?/span>(只复制结?/span>,源表名:a 新表名:b) (Access可用)

  法一Q?/span>select * into b from a where 1<>1

  法二Q?/span>select top 0 * into b from a

  2、说明:拯?/span>(拯数据,源表名:a 目标表名Q?/span>b) (Access可用)

insert into b(a, b, c) select d,e,f from b;

  3、说明:跨数据库之间表的拯(具体数据使用l对路径) (Access可用)

insert into b(a, b, c) select d,e,f from b in ‘具体数据?/span>’ where 条g

  例子Q?/span>..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

  4、说明:子查?/span>(表名1Q?/span>a 表名2Q?/span>b)

select a,b,c from a where a IN (select d from b ) 或?/span>: select a,b,c from a where a IN (1,2,3)

  5、说明:昄文章、提交h和最后回复时?/span>

select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
6
、说明:外连接查?/span>(表名1Q?/span>a 表名2Q?/span>b)

select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

  7、说明:在线视图查询(表名1Q?/span>a )

select * from (SELECT a,b,c FROM a) T where t.a > 1;

  8、说明:between的用?/span>,between限制查询数据范围时包括了边界?/span>,not between不包?/span>

select * from table1 where time between time1 and time2

select a,b,c, from table1 where a not between 数?/span>1 and 数?/span>2

  9、说明:in 的用方?/span>

select * from table1 where a [not] in (‘?/span>1’,’?/span>2’,’?/span>4’,’?/span>6’)

  10、说明:两张兌表,删除主表中已l在副表中没有的信息

delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )

  11、说明:四表联查问题Q?/span>

select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....

  12、说明:日程安排提前五分钟提?/span>

SQL: select * from 日程安排 where datediff('minute',f开始时?/span>,getdate())>5

  13、说明:一?/span>sql 语句搞定数据库分?/span>

select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段

  14、说明:?/span>10条记?/span>

select top 10 * form table1 where 范围

  15、说明:选择在每一l?/span>b值相同的数据中对应的a最大的记录的所有信?/span>(cMq样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成l排?/span>,{等.)

select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)

  16、说明:包括所有在 TableA 中但不在 TableB?/span>TableC 中的行ƈ消除所有重复行而派生出一个结果表

(select a from tableA ) except (select a from tableB) except (select a from tableC)

  17、说明:随机取出10条数?/span>

select top 10 * from tablename order by newid()

  18、说明:随机选择记录

select newid()

  19、说明:删除重复记录

Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)

  20、说明:列出数据库里所有的表名

select name from sysobjects where type='U'
21
、说明:列出表里的所有的

select name from syscolumns where id=object_id('TableName')

  22、说明:列示type?/span>vender?/span>pcs字段Q以type字段排列Q?/span>case可以方便地实现多重选择Q类?/span>select 中的case?/span>

select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type

  昄l果Q?/span>

type    vender pcs
电脑 A 1
电脑 A 1
光盘 B 2
光盘 A 2
手机 B 3
手机 C 3

  23、说明:初始化表table1

TRUNCATE TABLE table1

  24、说明:选择?/span>10?/span>15的记?/span>

select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc

  随机选择数据库记录的ҎQ?/span>Randomize函数Q通过SQL语句实现Q?/span>

  对存储在数据库中的数据来_随机数特性能l出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机?/span>然后打印出来。实际上常见的解x案是建立如下所C的循环Q?/span>

Randomize
RNumber = Int(Rnd*499) +1
 
While Not objRec.EOF
If objRec("ID") = RNumber THEN
...
q里是执行脚?/span> ...
end if
objRec.MoveNext
Wend

  q很Ҏ理解。首先,你取?/span>1?/span>500范围之内的一个随机数Q假?/span>500是数据库内记录的LQ。然后,你遍历每一记录来测?/span>ID 的倹{检查其是否匚wRNumber。满x件的话就执行?/span>THEN 关键字开始的那一块代码。假如你?/span>RNumber {于495Q那么要循环一遍数据库q旉可就长了。虽?/span>500q个数字看v来大了些Q但相比更ؓE_的企业解x案这q是个小型数据库了,后者通常在一个数据库内就包含了成千上万条记录。这时候不死定了Q?/span>

  采用SQLQ你可以很快地扑և准确的记录ƈ且打开一个只包含该记录的recordsetQ如下所C:

Randomize
RNumber = Int(Rnd*499) + 1
 
SQL = "SELECT * FROM Customers WHERE ID = " & RNumber
 
set objRec = ObjConn.Execute(SQL)
Response.WriteRNumber & " = " & objRec("ID") & " " & objRec("c_email")

  不必写出RNumber ?/span>IDQ你只需要检查匹配情况即可。只要你对以上代码的工作满意Q你自可按需操作随机记录?/span>Recordset没有包含其他内容Q因此你很快p扑ֈ你需要的记录q样大大降低了处理旉?/span>
再谈随机?/span>

  现在你下定决心要榨干Random 函数的最后一滴aQ那么你可能会一ơ取出多条随录或者想采用一定随围内的记录。把上面的标?/span>Random CZ扩展一下就可以?/span>SQL应对上面两种情况了?/span>

  Z取出几条随机选择的记录ƈ存放在同一recordset内,你可以存储三个随机数Q然后查询数据库获得匚wq些数字的记录:

  SQL = "SELECT * FROM Customers WHERE ID = " & RNumber & " OR ID = " & RNumber2 & " OR ID = " & RNumber3

  假如你想选出10条记录(也许是每ơ页面装载时?/span>10条链接的列表Q,你可以用BETWEEN 或者数学等式选出W一条记录和适当数量的递增记录。这一操作可以通过好几U方式来完成Q但?/span> SELECT 语句只显CZU可能(q里?/span>ID 是自动生成的LQ:
SQL = "SELECT * FROM Customers WHERE ID BETWEEN " & RNumber & " AND " & RNumber & "+ 9"

  注意Q以上代码的执行目的不是查数据库内是否有9条ƈ发记录?/span>

  随机d若干条记录,试q?/span>

Access语法Q?/span>SELECT top 10 * From 表名 ORDER BY Rnd(id)
Sql server:select top n * from
表名 order by newid()
mysql select * From
表名 Order By rand() Limit n

  Access左连接语?/span>(最q开发要用左q接,Access帮助什么都没有,|上没有Access?/span>SQL说明,只有自己试, 现在C以备后查)

  语法 select table1.fd1,table1,fd2,table2.fd2 From table1 left join table2 on table1.fd1,table2.fd1 where ...

  使用SQL语句 ?/span>...代替q长的字W串昄

  语法Q?/span>

  SQL数据库:select case when len(field)>10 then left(field,10)+'...' else field end as news_name,news_id from tablename
  Access数据库:SELECT iif(len(field)>2,left(field,2)+'...',field) FROM tablename;

  Conn.Execute说明

  ExecuteҎ

  该方法用于执?/span>SQL语句。根?/span>SQL语句执行后是否返回记录集Q该Ҏ的用格式分Z下两U:

  1Q执?/span>SQL查询语句Ӟ返回查询得到的记录集。用法ؓQ?/span>

  Set 对象变量?/span>=q接对象.Execute("SQL 查询语言")

  ExecuteҎ调用后,会自动创录集对象Qƈ查询结果存储在该记录对象中Q通过SetҎQ将记录集赋l指定的对象保存Q以后对象变量就代表了该记录集对象?/span>

  2Q执?/span>SQL的操作性语aӞ没有记录集的q回。此时用法ؓQ?/span>

  q接对象.Execute "SQL 操作性语?/span>" [, RecordAffected][, Option]

  ·RecordAffected 为可选项Q此出可攄一个变量,SQL语句执行后,所生效的记录数会自动保存到该变量中。通过讉K该变量,可知道SQL语句队多条记录q行了操作?/span>

  ·Option 可选项Q该参数的取值通常?/span>adCMDTextQ它用于告诉ADOQ应该将ExecuteҎ之后的第一个字W解释ؓ命o文本。通过指定该参敎ͼ可执行更高效?/span>

  ·BeginTrans?/span>RollbackTrans?/span>CommitTransҎ

  q三个方法是q接对象提供的用于事务处理的Ҏ?/span>BeginTrans用于开始一个事物;RollbackTrans用于回滚事务Q?/span>CommitTrans用于提交所有的事务处理l果Q即认事务的处理?/span>

  事务处理可以一l操作视Z个整体,只有全部语句都成功执行后Q事务处理才成功;若其中有一个语句执行失败,则整个处理就失败,q恢复到处里前的状态?/span>

  BeginTrans?/span>CommitTrans用于标记事务的开始和l束Q在q两个之间的语句Q就是作Z务处理的语句。判断事务处理是否成功,可通过q接对象?/span>Error集合来实玎ͼ?/span>Error集合的成员个C?/span>0Q则说明有错误发生,事务处理p|?/span>Error集合中的每一?/span>Error对象Q代表一个错误信息?/span>

 

 



Derek 2007-08-01 09:26 发表评论
]]>
CSSW??http://www.tkk7.com/toaking/archive/2007/05/12/117054.htmlDerekDerekSat, 12 May 2007 15:00:00 GMThttp://www.tkk7.com/toaking/archive/2007/05/12/117054.htmlhttp://www.tkk7.com/toaking/comments/117054.htmlhttp://www.tkk7.com/toaking/archive/2007/05/12/117054.html#Feedback0http://www.tkk7.com/toaking/comments/commentRss/117054.htmlhttp://www.tkk7.com/toaking/services/trackbacks/117054.htmlCSSW??
 
 
四、如何在|页中插入CSS

前两章我们了解了CSS的语法,但要惛_览器中昄出效果,p让浏览器识别q调用。当览器读取样式表Ӟ要依照文本格式来读,q里介绍四种在页面中插入样式表的ҎQ链入外部样式表、内部样式表、导入外表样式表和内嵌样式?/p>

1. 铑օ外部样式?/p>

铑օ外部样式表是把样式表保存Z个样式表文gQ然后在面中用<link>标记链接到这个样式表文gQ这?lt;link>标记必须攑ֈ面?lt;head>区内Q如下:
<head>
……
<link rel="stylesheet" type="text/css" href="mystyle.css">
……
</head>
上面q个例子表示览器从mystyle.css文g中以文档格式d定义的样式表。rel=”stylesheet”是指在页面中使用q个外部的样式表。type=”text/css”是指文g的类型是样式表文本。href=”mystyle.css”是文件所在的位置?/p>

一个外部样式表文g可以应用于多个页面。当你改变这个样式表文gӞ所有页面的样式都随之而改变。在制作大量相同样式面的网站时Q非常有用,不仅减少了重复的工作量,而且有利于以后的修改、编辑,览时也减少了重复下载代码?/p>

样式表文件可以用M文本~辑器(例如Q记事本Q打开q编辑,一般样式表文g扩展名ؓ.css。内Ҏ定义的样式表Q不包含HTML标记Qmystyle.cssq个文g的内容如下:
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
Q定义水q线的颜色ؓ土黄Q段落左边的I白边距?0象素Q页面的背景囄为images目录下的back40.gif文gQ?/p>

2. 内部样式?/p>

内部样式表是把样式表攑ֈ面?lt;head>区里Q这些定义的样式应用到面中了Q样式表是用<style>标记插入的,从下例中可以看出<style>标记的用法:
<head>
……
<style type="text/css">
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
</style>
……
</head>

注意Q有些低版本的浏览器不能识别style标记Q这意味着低版本的览器会忽略style标记里的内容Qƈ把style标记里的内容以文本直接显C到面上。ؓ了避免这L情况发生Q我们用加HTML注释的方式(<!-- 注释 -->Q隐藏内容而不让它昄Q?br><head>
……
<style type="text/css">
<!--
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
-->
</style>
……
</head>

3. 导入外部样式?/p>

导入外部样式表是指在内部样式表的<style>里导入一个外部样式表Q导入时用@importQ看下面q个实例Q?br><head>
……
<style type=”text/css”>
<!--
@import “mystyle.css”
其他样式表的声明
-->
</style>
……
</head>
例中@import “mystyle.css”表示导入mystyle.css样式表,注意使用时外部样式表的\径。方法和铑օ样式表的Ҏ很相|但导入外部样式表输入方式更有优势。实质上它相当于存在内部样式表中的?br>注意Q导入外部样式表必须在样式表的开始部分,在其他内部样式表上面?/p>

4. 内嵌样式

内嵌样式是؜合在HTML标记里用的Q用q种ҎQ可以很单的Ҏ个元素单独定义样式。内嵌样式的使用是直接将在HTML标记里加入style参数。而style参数的内容就是CSS的属性和|如下例:
<p style="color: sienna; margin-left: 20px">
q是一个段?br></p>
Q这个段落颜色ؓ土黄Q左边距?0象素Q?br>在style参数后面的引号里的内容相当于在样式表大括号里的内宏V?br>注意Qstyle参数可以应用于Q意BODY内的元素Q包括BODY本事Q,除了BASEFONT、PARAM和SCRIPT?/p>

5. 多重样式表的叠加

上一章里我们已经提到样式表的层叠序Q这里我们讨论插入样式表的这几种Ҏ的叠加,如果在同一个选择器上使用几个不同的样式表Ӟq个属性值将会叠加几个样式表Q遇到冲H的地方会以最后定义的为准。例如,我们首先铑օ一个外部样式表Q其中定义了h3选择W的color 、text-alig和font-size属性:
h3
{
color: red;
text-align: left;
font-size: 8pt
}
Q标?的文字颜色ؓU色Q向左对齐;文字寸?号字Q?br>然后在内部样式表里也定义了h3选择W的text-align和font-size属性:
h3
{
text-align: right;
font-size: 20pt
}
Q标?文字向右寚wQ尺ؓ20号字Q?br>那么q个面叠加后的样式是Q?br>color: red;
text-align: right;
font-size: 20pt
Q文字颜色ؓU色Q向叛_齐;寸?0号字Q?br>字体颜色从外部样式表里保留下来,而对齐方式和字体寸都有定义Ӟ按照后定义的优先而依照内部样式表?br>注意Q依照后定义的优先,所以优先最高的是内嵌样式,内部样式表高于导入外部样式表Q链入的外部样式表和内部样式表之间是最后定义的优先U高?nbsp;



Derek 2007-05-12 23:00 发表评论
]]>
CSSW??/title><link>http://www.tkk7.com/toaking/archive/2007/05/12/117053.html</link><dc:creator>Derek</dc:creator><author>Derek</author><pubDate>Sat, 12 May 2007 14:59:00 GMT</pubDate><guid>http://www.tkk7.com/toaking/archive/2007/05/12/117053.html</guid><wfw:comment>http://www.tkk7.com/toaking/comments/117053.html</wfw:comment><comments>http://www.tkk7.com/toaking/archive/2007/05/12/117053.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/toaking/comments/commentRss/117053.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/toaking/services/trackbacks/117053.html</trackback:ping><description><![CDATA[<p> <br> CSSW??<br> <br> <br>三、伪cZ—动态链?/p> <p>伪类可以看做是一U特D的c选择W,是能被支持CSS的浏览器自动所识别的特D选择W。它的最大的用处是可以寚w接在不同状态下定义不同的样式效果?/p> <p>1. 语法</p> <p>伪类的语法是在原有的语法里加上一个伪c(pseudo-classQ:<br>selector:pseudo-class {property: value}<br>Q选择W?伪类 {属? 值}Q?br>伪类和类不同Q是CSS已经定义好的Q不能象c选择W一样随意用别的名字Q根据上面的语法可以解释为对象(选择W)在某个特D状态下Q伪c)的样式?/p> <p>c选择W及其他选择W也同样可以和伪cL؜用:<br>selector.class:pseudo-class {property: value}<br>Q选择W?c?伪类 {属? 值}Q?/p> <p>2. 锚的伪类</p> <p>我们最常用的是4UaQ锚Q元素的伪类Q它表示动态链接在4U不同的状态:link、visited、active、hoverQ未讉K的链接、已讉K的链接、激z链接和鼠标停留在链接上Q。我们把它们分别定义不同的效果:<br>a:link {color: #FF0000; text-decoration: none} /* 未访问的链接 */<br>a:visited {color: #00FF00; text-decoration: none} /* 已访问的链接 */<br>a:hover {color: #FF00FF; text-decoration: underline} /* 鼠标在链接上 */<br>a:active {color: #0000FF; text-decoration: underline} /* Ȁz链?*/<br>Q上面这个例子中Q这个链接未讉K时的颜色是红色ƈ无下划线Q访问后是绿色ƈ无下划线Q激z链接时色ƈ有下划线Q鼠标在链接上时为色ƈ有下划线Q?<br>注意Q有时这个链接访问前鼠标指向链接时有效果Q而链接访问后鼠标再次指向链接时却无效果了。这是因Z把a:hover攑֜了a:visited的前面,q样的话׃后面的优先高,当访问链接后忽略了a:hover的效果。所以根据叠层顺序,我们在定义这些链接样式时Q一定要按照a:linkQ?a:visitedQ?a:hoverQ?a:actived的顺序书写?/p> <p>3. 伪类和类选择W?/p> <p>伪cdcȝ合v来用Q就可以在同一个页面中做几l不同的链接效果了,例如Q我们定义一l链接ؓU色Q访问后Ԍ另一lؓl色Q访问后为黄Ԍ<br>a.red:link {color: #FF0000}<br>a.red:visited {color: #0000FF}<br>a.blue:link {color: #00FF00}<br>a.blue:visited {color: #FF00FF}<br>现在应用在不同的链接上:<br><a class="red" href="...">q是W一l链?lt;/a><br><a class="blue" href="...">q是W二l链?lt;/a></p> <p>4. 其他伪类</p> <p>此外CSS2q定义了首字和首行(first-letter和first-lineQ的伪类Q可以对元素的首字或首行讑֮不同的样式?br>下面看这个例子,我们在段落标记里定义文本首字寸为默认大的3倍:<br><style type=”text/css”><br>p:first-letter {font-size: 300%}<br></style><br>……<br><p><br>q是一个段落,q个D落的首字被攑֤了?br></p></p> <p>我们再定义一个首行样式的例子Q?br><style type=”text/css”><br>div:first-line {color: red}<br></style><br>……<br><div><br><p><br>q是D落的第一?br>q是D落的第二行<br>q是D落的第三行<br></p><br></div><br>Q上例中D落的第一行ؓU色Q第二、三行ؓ默认颜色Q?/p> <p>注意Q首字和首行的伪c需要IE5.5以上的版本支持?nbsp; <br></p> <img src ="http://www.tkk7.com/toaking/aggbug/117053.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/toaking/" target="_blank">Derek</a> 2007-05-12 22:59 <a href="http://www.tkk7.com/toaking/archive/2007/05/12/117053.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CSSW??http://www.tkk7.com/toaking/archive/2007/05/12/116916.htmlDerekDerekFri, 11 May 2007 17:23:00 GMThttp://www.tkk7.com/toaking/archive/2007/05/12/116916.htmlhttp://www.tkk7.com/toaking/comments/116916.htmlhttp://www.tkk7.com/toaking/archive/2007/05/12/116916.html#Feedback0http://www.tkk7.com/toaking/comments/commentRss/116916.htmlhttp://www.tkk7.com/toaking/services/trackbacks/116916.html     CSSW??
Dreamweaver是现今最好的|站~辑工具之一Q用它来l制作网늚CSS样式表会更简单、更方便。本教程教你如何利用Dreamweaver在页面中加入CSSQ你不用死记背的记代码标记Q也不用ȝ很厚的CSS手册Q你可以轻松自如的在网中q用CSS。不q首先你要对CSS有一定的了解。因此,本教E的前面4章ؓCSS理论知识Q主要是对CSS的全面介l,希望读者看后对CSS的语法、结构、应用有一个全面的了解Q后?章ؓDW实战Q主要是教你如何利用Dreamweaver灉|q用CSS在网中。阅L文前Q你需要对HTML有一定的了解Qƈ会用Dreamweaver?/p>

一、认识CSS

CSS是Cascading Style SheetsQ中文翻译ؓ“层叠样式?#8221;Q简U样式表Q它是一U制作网늚新技术?/p>

|页设计最初是用HTML标记来定义页面文档及格式Q例如标?lt;h1>、段?lt;p>、表?lt;table>、链?lt;a>{,但这些标C能满x多的文档样式需求,Z解决q个问题Q在1997qW3C(The World Wide Web Consortium)颁布HTML4标准的同时也公布了有x式表的第一个标准CSS1, 自CSS1的版本之后,又在1998q?月发布了CSS2版本Q样式表得到了更多的充实。W3C把DHTML(Dynamic HTML)分ؓ三个部分来实玎ͼ脚本语言(包括JavaScript、Vbscript{?、支持动态效果的览?包括Internet Explorer、Netscape Navigator{?和CSS样式表?/p>

注意QCSS需要IE4(Internet Explorer 4.0)和NC4(Netscape 4.0)以上的浏览器支持Q有些效果需要更高版本的览器支持?/p>

二、语?/p>

1. 基本语法

CSS的定义是׃个部分构成:选择W(selectorQ,属性(propertiesQ和属性的取|valueQ?br>基本格式如下Q?br>selector {property: value}
Q选择W?{属性:值}Q?br>选择W是可以是多UŞ式,一般是你要定义样式的HTML标记Q例如BODY、P、TABLE……Q你可以通过此方法定义它的属性和|属性和D用冒号隔开Q?br>body {color: black}
选择Wbody是指面M部分Qcolor是控制文字颜色的属性,black是颜色的|此例的效果是佉K面中的文字ؓ黑色?/p>

如果属性的值是多个单词l成Q必dg加引P比如字体的名U经常是几个单词的组合:
p {font-family: "sans serif"}
Q定义段落字体ؓsans serifQ?/p>

如果需要对一个选择W指定多个属性时Q我们用分号将所有的属性和值分开Q?br>p {text-align: center; color: red}
Q段落居中排列;q且D落中的文字为红Ԍ

Z使你定义的样式表方便阅读Q你可以采用分行的书写格式:
p
{
text-align: center;
color: black;
font-family: arial
}
Q段落排列居中,D落中文字ؓ黑色Q字体是arialQ?/p>

2. 选择W组

你可以把相同属性和值的选择W组合v来书写,用逗号选择W分开Q这样可以减样式重复定义:
h1, h2, h3, h4, h5, h6 { color: green }
Q这个组里包括所有的标题元素Q每个标题元素的文字都ؓl色Q?br>p, table{ font-size: 9pt }
Q段落和表格里的文字寸?号字Q?br>效果完全{效于:
p { font-size: 9pt }
table { font-size: 9pt }

3. c选择W?/p>

用类选择W你能够把相同的元素分类定义不同的样式,定义c选择W时Q在自定cȝ名称前面加一个点受假如你惌两个不同的段落,一个段落向叛_齐,一个段落居中,你可以先定义两个c:
p.right {text-align: right}
p.center {text-align: center}
然后用不在不同的D落里,只要在HTML标记里加入你定义的class参数Q?br><p class="right">
q个D落向右寚w?br></p>
<p class="center">
q个D落是居中排列的
</p>
注意Q类的名U可以是L英文单词或以英文开头与数字的组合,一般以其功能和效果要命名?/p>

c选择W还有一U用法,在选择W中省略HTML标记名,q样可以把几个不同的元素定义成相同的样式Q?br>.center {text-align: center}
Q定?center的类选择Wؓ文字居中排列Q?br>q样的类可以被应用到M元素上。下面我们h1元素Q标?Q和p元素Q段落)都归?#8220;center”c,q两个元素的样式都跟随“.center”q个c选择W:
<h1 class="center">
q个标题是居中排列的
</h1>
<p class="center">
q个D落也是居中排列?br></p>
注意Q这U省略HTML标记的类选择W是我们l后最常用的CSSҎQ用这U方法,我们可以很方便的在Q意元素上套用预先定义好的cL式?/p>

4. ID选择W?/p>

在HTML面中ID参数指定了某个单一元素QID选择W是用来对这个单一元素定义单独的样式?br>ID选择W的应用和类选择W类|只要把CLASS换成ID卛_。将上例中类用ID替代Q?br><p id="intro">
q个D落向右寚w
</p>
定义ID选择W要在ID名称前加上一?#8220;#”受和c选择W相同,定义ID选择W的属性也有两U方法。下面这个例子,ID属性将匚w所有id="intro"的元素:
#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
Q字体尺ؓ默认寸?10%Q粗体;蓝色Q背景颜色透明Q?br>下面q个例子QID属性只匚wid="intro"的段落元素:
p#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
注意QID选择W局限性很大,只能单独定义某个元素的样式,一般只在特D情况下使用?/p>

5. 包含选择W?/p>

可以单独ҎU元素包含关pd义的样式表,元素1里包含元?Q这U方式只对在元素1里的元素2定义Q对单独的元?或元?无定义,例如Q?br>table a
{
font-size: 12px
}
在表格内的链接改变了样式Q文字大ؓ12象素Q而表格外的链接的文字仍ؓ默认大小?/p>

6. 样式表的层叠?/p>

层叠性就是承性,样式表的l承规则是外部的元素样式会保留下来承给q个元素所包含的其他元素。事实上Q所有在元素中嵌套的元素都会l承外层元素指定的属性|有时会把很多层嵌套的样式叠加在一P除非另外更改。例如在DIV标记中嵌套P标记Q?br>div { color: red; font-size:9pt}
……
<div>
<p>
q个D落的文字ؓU色9号字
</p>
</div>
QP元素里的内容会承DIV定义的属性)
注意Q有些情况下内部选择W不l承周围选择W的|但理Zq些都是Ҏ的。例如,上边界属性值是不会l承的,直觉上,一个段落不会同文档BODY一L上边界倹{?/p>

另外Q当样式表扉K到冲H时QL以最后定义的样式为准。如果上例中定义了P的颜Ԍ
div { color: red; font-size:9pt}
p {color: blue}
……
<div>
<p>
q个D落的文字ؓ蓝色9号字
</p>
</div>
我们可以看到D落里的文字大小?号字是承div属性的Q而color属性则依照最后定义的?/p>

不同的选择W定义相同的元素Ӟ要考虑C同的选择W之间的优先U。ID选择W,c选择W和HTML标记选择W,因ؓID选择W是最后加上元素上的,所以优先最高,其次是类选择W。如果想越q三者之间的关系Q可以用!important提升样式表的优先权,例如Q?br>p { color: #FF0000!important }
.blue { color: #0000FF}
#id1 { color: #FFFF00}
我们同时寚w面中的一个段落加上这三种样式Q它最后会依照?importantx的HTML标记选择W样式ؓU色文字。如果去?importantQ则依照优先权最高的ID选择Wؓ黄色文字?/p>

7. 注释

你可以在CSS中插入注释来说明你代码的意思,注释有利于你或别Z后编辑和更改代码时理解代码的含义。在览器中Q注释是不显C的。CSS注释?/*" 开_?*/" l尾Q如下:
/* 定义D落样式?*/
p
{
text-align: center; /* 文本居中排列 */
color: black; /* 文字为黑?*/
font-family: arial /* 字体为arial */



Derek 2007-05-12 01:23 发表评论
]]>
OUTLOOK的用?/title><link>http://www.tkk7.com/toaking/archive/2007/03/27/106780.html</link><dc:creator>Derek</dc:creator><author>Derek</author><pubDate>Tue, 27 Mar 2007 14:16:00 GMT</pubDate><guid>http://www.tkk7.com/toaking/archive/2007/03/27/106780.html</guid><wfw:comment>http://www.tkk7.com/toaking/comments/106780.html</wfw:comment><comments>http://www.tkk7.com/toaking/archive/2007/03/27/106780.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/toaking/comments/commentRss/106780.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/toaking/services/trackbacks/106780.html</trackback:ping><description><![CDATA[ <font face="宋体"> <span lang="EN-US">Microsoft Outlook</span>不用注册的,不过日前<span lang="EN-US">hotmial</span>不支?span lang="EN-US">Outlook</span>{邮件客L收发邮g<span lang="EN-US">.</span>其它如网易、雅虎、搜狐等大多数邮都可以?span lang="EN-US">Outlook </span>收发邮g?/font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />   </span>以网?span lang="EN-US">163</span>邮箱ZQ?span lang="EN-US">Outlook</span>应这栯|:</font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />1.</span>打开<span lang="EN-US"> Outlook</span>Q即<span lang="EN-US"> Outlook Express</span>Q,点击<span lang="EN-US">?/span>工具<span lang="EN-US">?/span>Q然后?span lang="EN-US">?/span>帐户<span lang="EN-US">?/span>?/font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />2.</span>单击<span lang="EN-US">?/span>d<span lang="EN-US">?/span>Q在弹出菜单中选择<span lang="EN-US">?/span>邮g<span lang="EN-US">?/span>Q进?span lang="EN-US"> Internet </span>q接向导?/font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />3.</span>?span lang="EN-US">?/span>昄名:<span lang="EN-US">?/span>字段中输入您的姓名,然后单击<span lang="EN-US">?/span>下一?span lang="EN-US">?/span>?/font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />4.</span>?span lang="EN-US">?/span>电子邮g地址Q?span lang="EN-US">?/span>字段中输入您的完?span lang="EN-US"> 163 </span>免费邮地址<span lang="EN-US">(you@163.com)</span>Q然后单?span lang="EN-US">?/span>下一?span lang="EN-US">?/span>?/font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />5.</span>?span lang="EN-US">?/span>接收邮gQ?span lang="EN-US">pop</span>?span lang="EN-US">IMAP</span>?span lang="EN-US">HTTP</span>Q服务器Q?span lang="EN-US">?/span>字段中输?span lang="EN-US"> pop.163.com</span>。在<span lang="EN-US">?/span>发送邮件服务器<span lang="EN-US"> (SMTP)</span>Q?span lang="EN-US">?/span>字段中输入:<span lang="EN-US">smtp.163.com</span>Q单?span lang="EN-US">?/span>下一?span lang="EN-US">?/span>?/font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />6.</span>?span lang="EN-US">?/span>帐户名:<span lang="EN-US">?/span>字段中输入您?span lang="EN-US"> 163 </span>免费邮用户名Q仅输入<span lang="EN-US">@ </span>前面的部分)。在<span lang="EN-US">?/span>密码Q?span lang="EN-US">?/span>字段中输入您的邮密码,然后单击<span lang="EN-US">?/span>下一?span lang="EN-US">?/span>?/font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />7.</span>点击<span lang="EN-US">?/span>完成<span lang="EN-US">?/span>?/font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />8.</span>?span lang="EN-US"> Internet </span>帐户中,选择<span lang="EN-US">?/span>邮g<span lang="EN-US">?/span>选项卡,选中刚才讄的帐P单击<span lang="EN-US">?/span>属?span lang="EN-US">?/span>?/font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />9.</span>在属性设|窗口中Q选择<span lang="EN-US">?/span>服务?span lang="EN-US">?/span>选项卡,N?span lang="EN-US">?/span>我的服务器需要n份验?span lang="EN-US">?/span>Qƈ点击旁边?span lang="EN-US">?/span>讄<span lang="EN-US">?/span>按钮?/font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />10.</span>d信息选择<span lang="EN-US">?/span>使用与接攉件服务器相同的设|?span lang="EN-US">?/span>Q确保您在每一字段中输入了正确信息?/font> </font> <font size="3"> <font face="宋体"> <span lang="EN-US"> <br />11.</span>点击<span lang="EN-US">?/span>定<span lang="EN-US">?/span>?/font> </font> <img src ="http://www.tkk7.com/toaking/aggbug/106780.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/toaking/" target="_blank">Derek</a> 2007-03-27 22:16 <a href="http://www.tkk7.com/toaking/archive/2007/03/27/106780.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jsp + JavaBean循序渐进教程http://www.tkk7.com/toaking/archive/2006/12/27/90365.htmlDerekDerekWed, 27 Dec 2006 10:50:00 GMThttp://www.tkk7.com/toaking/archive/2006/12/27/90365.htmlhttp://www.tkk7.com/toaking/comments/90365.htmlhttp://www.tkk7.com/toaking/archive/2006/12/27/90365.html#Feedback0http://www.tkk7.com/toaking/comments/commentRss/90365.htmlhttp://www.tkk7.com/toaking/services/trackbacks/90365.html阅读全文

Derek 2006-12-27 18:50 发表评论
]]>
JSP中tomcat的SQL Server2000数据库连接池的配|?/title><link>http://www.tkk7.com/toaking/archive/2006/11/20/82181.html</link><dc:creator>Derek</dc:creator><author>Derek</author><pubDate>Mon, 20 Nov 2006 02:34:00 GMT</pubDate><guid>http://www.tkk7.com/toaking/archive/2006/11/20/82181.html</guid><wfw:comment>http://www.tkk7.com/toaking/comments/82181.html</wfw:comment><comments>http://www.tkk7.com/toaking/archive/2006/11/20/82181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/toaking/comments/commentRss/82181.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/toaking/services/trackbacks/82181.html</trackback:ping><description><![CDATA[ <p>JSP中tomcat的SQL Server2000数据库连接池的配|?br />环境Q?br />1. 数据库:Microsoft SQL Server 2000<br />2. 数据库驱动程序:net.sourceforge.jtds.jdbc.Driver<br />JNDIQJava Naming and Directory InterfaceQ概qͼ<br />Tomcat4Q?Q提供了一个与Java Enterprise Edition应用服务相兼容的JNDI--InitialContext实现实例。它的初始数据设|在$CATALINA_HOME/conf/server.xml文g里,q可能在|页应用环境描述Q?WEB-INF/web.xmlQ里被下列元素引用:<br />1) <env-entry>--环境入口Q设|应用程序如何操作?br />2) <resource-ref>--资源参数Q一般是数据库驱动程序、JavaMail Session、自定义cd厂等?br />3) <resource-env-ref>--在Servlet 2.4里用来简化设|不需认证信息的资源资源如环境参数、resource-ref变量?br />InitialContext在网应用程序初始化时被讄Q用来支持网应用程序组件。所有的入口和资源都攑֜JNDI命名I间里的java:comp/envD里。点M列网址以获取更多信息:<br />1) Java命名和目录接口(Java Naming and Directory InterfaceQ?br />2) J2EEq_说明QJ2EE Platform SpecificationQ?br />讄JNDI资源<br />讄JNDI资源要在$CATALINA_HOME/conf/server.xml文g里用下列标志符Q?br />1) <Environment>--讄域个可变的JNDI InitialContext入口的名字和|同上面说?lt;env-entry>{hQ?br />2) <Resource>--讄应用E序可用的资源的名字和类型(同上面说?lt;resource-ref>{hQ?br />3) <ResourceParams>--讄Java资源cd厂的名称或将用的JavaBean属性?br />4) <ResourceLink>--l全局JNDI环境QJNDI ContextQ添加一个链接?br />上述q些标志W必L?lt;Context>?lt;/Context>之间Q针对专门的|页应用E序Q或<DefaultContext>?lt;/DefaultContext>之间?br />此外Q设在网应用环境描qͼWeb Application DescriptorQ(/WEB-INF/web.xmlQ里的名字和g在初始环境(Initial ContextQ里被设|,当被<Environemt>元素值允许时被重设初始倹{?br />全局变量能在<Server>子元素的<GlobalNamingResources>里设|?br />数据库连接池概述Q?br />数据库连接是一U关键的有限的昂늚资源Q这一点在多用L|页应用E序中体现得ؓH出。对数据库连接的理能显著媄响到整个应用E序的׾~性和健壮性,影响到程序的性能指标。数据库q接池正是针对这个问题提出来的?br />数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复用一个现有的数据库连接,而再不是重新建立一个;释放I闲旉过最大空闲时间的数据库连接来避免因ؓ没有释放数据库连接而引L数据库连接遗漏。这Ҏ术能明显提高Ҏ据库操作的性能?br />数据库连接池在初始化时将创徏一定数量的数据库连接放到连接池中,q些数据库连接的数量是由最数据库q接数来讑֮的。无些数据库q接是否被用,q接池都一直保证至拥有这么多的连接数量。连接池的最大数据库q接数量限定了这个连接池能占有的最大连接数Q当应用E序向连接池h的连接数过最大连接数量时Q这些请求将被加入到{待队列中。数据库q接池的最连接数和最大连接数的设|要考虑C列几个因素:<br />1) 最连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,会有大量的数据库连接资源被费Q?br />2) 最大连接数是连接池能申L最大连接数Q如果数据库q接h过此数Q后面的数据库连接请求将被加入到{待队列中,q会影响之后的数据库操作?br />3) 如果最连接数与最大连接数相差太大Q那么最先的q接h会获利Q之后超q最连接数量的q接h{h于徏立一个新的数据库q接。不q,q些大于最连接数的数据库q接在用完不会马上被释放,它将被放到连接池中等待重复用或是空闲超时后被释放?br />配置Tomcat数据库连接池的前提:<br />1. 必须装有Javaq行环境Q?br />2. 必须有SQL Server2000数据库服务器Q可以不在本圎ͼQ?br />3. 必须有jtds.jarQƈ它攑֜$CATALINA_HOME/common/lib目录下(只能是这里)。用它是因为Microsoft公司的Java SQL Server驱动E序不支持二ơ查询,可到|上搜到。目前用的是jtds-0.6.jar?br />?CATALINA_HOME/conf/server.xml里设|数据库q接池:<br />下面是配|的代码Q必L?lt;Host>?lt;/Host>之间?br /><Context path="/quality" docBase="quality" debug="0" reloadable="true" crossContext="true"><br /><Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_quality_log." suffix=".txt" timestamp="true"/><br /><Resource name="jdbc/connectDB" auth="Container" type="javax.sql.DataSource"/><br /><ResourceParams name="jdbc/connectDB"><br /> <parameter><br />  <name>maxActive</name><br />  <!-- Maximum number of DB connections in pool.Set to 0 for no limit. --><br />  <value>100</value><br /> </parameter><br /> <parameter><br />  <name>maxIdle</name><br />  <!-- Maximum number of idle DB connections to retain in pool.Set to 0 for no limit. --><br />  <value>30</value><br /> </parameter><br /> <parameter><br />  <name>maxWait</name><br />  <!-- Maximum time to wait for a DB connection to become available in ms.An exception is thrown if this timeout is exceeded.Set to -1 to wait indefinitely. --><br />  <value>10000</value><br /> </parameter><br /> <parameter><br />  <name>removeAbandoned</name><br />  <!-- Abandoned DB connections are removed and recycled --><br />  <value>true</value><br /> </parameter><br /> <parameter><br />  <name>removeAbandonedTimeout</name><br />  <!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned.  --><br />  <value>60</value><br /> </parameter><br /> <parameter><br />  <name>logAbandoned</name><br />  <!-- Log a stack trace of the code which abandoned --><br />  <value>false</value><br /> </parameter><br /> <parameter><br />  <name>factory</name><br />  <!-DBCP Basic Datasource Factory --><br />  <value>org.apache.commons.dbcp.BasicDataSourceFactory</value><br /> </parameter><br /> <parameter><br />  <name>username</name><br />  <!-- Database User Name --><br />  <value>Iorishinier</value><br /> </parameter><br /> <parameter><br />  <name>password</name><br />  <!-- User Password --><br />  <value>mypasswd</value><br /> </parameter><br /> <parameter><br />  <name>driverClassName</name><br />  <!-- Database Driver Class Name --><br />  <value>net.sourceforge.jtds.jdbc.Driver</value><br /> </parameter><br /> <parameter><br />  <name>url</name><br />  <!-- Database Address --><br />  <value>jdbc:jtds:sqlserver://127.127.127.127:1433/Northwind</value><br /> </parameter><br /></ResourceParams><br /></Context><br />下面是一些参数的说明Q?br /><Context path="/quality" docBase="quality" debug="0" reloadable="true" crossContext="true"><br />其中Q?br />1) path  指定路径Q这里设定的?CATALINA_HOME/webapps下的quality目录Q?br />2) docBase 文g根目录?br />3) reloader  当网被更新时是否重新编译?br />4) maxActive q接池的最大数据库q接数。设?表示无限制?br />5) maxIdle  数据库连接的最大空闲时间。超q此I闲旉Q数据库q接被标记Z可用Q然后被释放。设?表示无限制?br />6) maxWait 最大徏立连接等待时间。如果超q此旉接到异常。设为-1表示无限制?br />7) removeAbandoned 回收被遗弃的Q一般是忘了释放的)数据库连接到q接池中?br />8) removeAbandonedTimeout 数据库连接过多长旉不用被视ؓ被遗弃而收回连接池中?br />9) logAbandoned 被遗弃的数据库q接的回收记入日志?br />10) driverClassName JDBC驱动E序?br />11) url   数据库连接字W串<br />?CATALINA_HOME/webapps/quality/WEB-INF/web.xml里设|被引用的资源:<br />下面是配|代码,必须攑֜<web-app>?lt;/web-app>里?br /><!-- Database Config start --><br /><resource-ref><br /><description>connectDB test</description><br /><res-ref-name>jdbc/connectDB</res-ref-name><br /><res-type>javax.sql.DataSource</res-type><br /><res-auth>Container</res-auth><br /></resource-ref><br /><!-- Database Config end --><br />下面是一下参数的必要说明Q?br />1) description  对被引用的资源的描述?br />2) res-ref-name  资源名称。见上面?lt;ResourceParams name="jdbc/connectDB"><br />3) res-type  资源cd。见上面?lt;Resource name="jdbc/connectDB" auth="Container" type="javax.sql.DataSource"/><br />在JSP中用资源:<br />q是?CATALINA_HOME/webapps/quality下的某子目录里的jsp|页文g部分代码Q?br /><%@ page contentType="text/html;charset=GBK"%><br /><%@ page errorPage="error.jsp"%><br /><%@ page import="javax.naming.*"%><br /><%@ page import="javax.sql.*"%><br /><%@ page import="java.sql.*"%><br /><html><br /> <head><br /> </head><br /> <body><br />  <%</p> <p>   ……………?br />   ……………?/p> <p>   // 数据库操?br />   Context ctx=null;<br />   Connection cnn=null;<br />   Statement stmt=null;<br />   ResultSet rs=null;<br />   try<br />   {<br />    ctx=new InitialContext();<br />    if(ctx==null)<br />     throw new Exception("没有匚w的环?);<br />    DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/connectDB");<br />    if(ds==null)<br />     throw new Exception("没有匚w数据?);<br />    <br />    cnn=ds.getConnection();<br />    stmt=cnn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);<br />    rs=stmt.executeQuery("select * from table1");</p> <p>    ……………?br />    ……………?/p> <p>   }<br />   finally<br />   {<br />    if(rs!=null)<br />     rs.close();<br />    if(stmt!=null)<br />     stmt.close();<br />    if(cnn!=null)<br />     cnn.close();<br />    if(ctx!=null)<br />     ctx.close();<br />   }<br />    %><br /> </body><br /></html><br />代码说明Q?br />DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/connectDB");<br />上面q句应用了刚才设的资源?br />资源使用完要释放Q尤其是Context资源Q见try-catch-finally部分的finally代码D,q是一U好的习惯。资源释放时如果释放了上U资源,下资源先被释放。如Q释放了ctxQ那么资源释N序将是rsQstmtQcnnQctx。换句话_如果释放了ctxQ那么rsQstmt和cnn都将不可用了?br />q里的释放资源只是将数据库连接返回连接池中,q不是把资源真正释放掉,见数据库q接池概q?/p> <img src ="http://www.tkk7.com/toaking/aggbug/82181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/toaking/" target="_blank">Derek</a> 2006-11-20 10:34 <a href="http://www.tkk7.com/toaking/archive/2006/11/20/82181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库原理之关系数据库SQL语言译֐习题及答?/title><link>http://www.tkk7.com/toaking/archive/2006/11/17/81833.html</link><dc:creator>Derek</dc:creator><author>Derek</author><pubDate>Fri, 17 Nov 2006 12:18:00 GMT</pubDate><guid>http://www.tkk7.com/toaking/archive/2006/11/17/81833.html</guid><wfw:comment>http://www.tkk7.com/toaking/comments/81833.html</wfw:comment><comments>http://www.tkk7.com/toaking/archive/2006/11/17/81833.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.tkk7.com/toaking/comments/commentRss/81833.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/toaking/services/trackbacks/81833.html</trackback:ping><description><![CDATA[ <p class="main"> <font color="#224488" size="3">3.1 名词解释</font> <br /> <br />(1)<font color="#224488"><b>SQL模式</b></font>QSQL模式是表和授权的静态定义。一个SQL模式定义为基本表的集合?一个由模式名和模式拥有者的用户名或账号来确?q包含模式中每一个元?基本表、视图、烦引等)的定义?<br />(2)<font color="#224488"><b>SQL数据?/b></font>QSQL(Structured Query Language)Q即‘结构式查询语言’,采用p单词表示和结构式的语法规则?一个SQL数据库是表的汇集Q它用一个或多个SQL模式定义?<br />(3)<font color="#224488"><b>基本?/b></font>Q在SQL中,把传l的关系模型中的关系模式UCؓ基本?Base Table)?基本表是实际存储在数据库中的表,对应一个关pR?<br />(4)<font color="#224488"><b>存储文g</b></font>Q在SQL中,把传l的关系模型中的存储模式UCؓ存储文g(Stored File)?每个存储文g与外部存储器上一个物理文件对应?<br />(5)<b><font color="#224488">视图</font></b>Q在SQL中,把传l的关系模型中的子模式称?View)Q视图是从若q基本表和(或)其他视图构造出来的表?<br />(6)<font color="#224488"><b>?/b></font>Q在SQL中,把传l的关系模型中的元组UCؓ?row)?<br />(7)列:在SQL中,把传l的关系模型中的属性称为列(coloumn)?<br />(8)<font color="#224488"><b>实表</b></font>Q基本表被称为“实表”,它是实际存放在数据库中的表?<br />(9)<font color="#224488"><b>虚表</b></font>Q视图被UCؓ“虚表”,创徏一个视图时Q只把视囄定义存储在数据词怸Q而不存储视图所对应的数据?<br />(10)<font color="#224488"><b>相关子查?/b></font>Q在嵌套查询中出现的W合以下特征的子查询Q子查询中查询条件依赖于外层查询中的某个| 所以子查询的处理不只一ơ,要反复求|以供外层查询使用?<br />(11)<font color="#224488"><b>联接查询</b></font>Q查询时先对表进行笛卡尔U操作,然后再做{D接、选择、投q操作?联接查询的效率比嵌套查询低?<br />(12)<font color="#224488"><b>交互式SQL</b></font>Q在l端交互方式下用的SQL语言UCؓ交互式SQL?<br />(13)<font color="#224488"><b>嵌入式SQL</b></font>Q嵌入在高语言的程序中使用的SQL语言UCؓ嵌入式SQL?<br />(14)<font color="#224488"><b>׃n变量</b></font>QSQL和宿主语a的接口。共享变量有宿主语言E序定义Q再用SQL的DECLARE语句说明Q?SQL语句可引用q些变量传递数据库信息?<br />(15)<font color="#224488"><b>游标</b></font>Q游标是与某一查询l果相联pȝW号名,用于把集合操作{换成单记录处理方式?<br />(16)<font color="#224488"><b>h?/b></font>Qؓ了克服游标在推进时不能返回的不便QSQL2提供了卷游标技术?h标在推进时不但能沿查询结果中元组序从头到尾一行行推进Q也能一行行q回?<br /><br /><font color="#224488">3.2 对于教学数据库的三个基本?<br />     学生 S(S#,SNAME,AGE,SEX) <br />     学习 SC(S#,C#,GRADE) <br />     评 C(C#,CNAME,TEACHER) <br />    试用SQL的查询语句表达下列查询: </font><br /><br /><font color="#224488">Q?Q检索LIU老师所授课E的评号和评名?/font><br />    SELECT C#QCNAME <br />    FROM C <br />    WHERE TEACHER=‘LIU?<br /><br /><font color="#224488">Q?Q检索年龄大?3岁的男学生的学号和姓名?/font><br />    SELECT S#QSNAME <br />    FROM S <br />    WHERE (AGE>23) AND (SEX=‘M? <br /><br /><font color="#224488">Q?Q检索至选修LIU老师所授课E中一门课E的奛_生姓名?/font><br />    SELECT SNAME <br />    FROM S <br />    WHERE SEX=‘F?AND S# IN <br />     (SELECT S# <br />     FROM SC <br />     WHERE C# IN <br />      (SELECT C# <br />      FROM C <br />      WHERE TEACHER=‘LIU? </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <br /> <font color="red">NOTICE</font>Q有多种写法Q比如联接查询写法: <br />    SELECT SNAME <br />    FROM S,SC,C <br />    WHERE SEX=‘F?AND SC.S#=S.S# <br />    AND SC.C#=C.C# <br />    AND TEACHER='LIU' <br />但上一U写法更好一些?</p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <br /> <font color="#224488">Q?Q检索WANG同学不学的课E的评受?/font> <br />    SELECT C# <br />    FROM C <br />    WHERE C# NOT IN <br />     (SELECT C# <br />     FROM SC <br />     WHERE S# IN <br />      (SELECT S# <br />      FROM S <br />      WHERE SNAME='WANG')) <br /><br /><font color="#224488">Q?Q检索至选修两门评的学生学受?/font><br />    SELECT DISTINCT X.SNO <br />    FROM SC X,SC Y <br />    WHERE X.SNO=Y.SNO AND X.CNO<>Y.CNO <br /><font color="red">Notice</font>:对表SCq行自连接,XQY是SC的两个别名?<br /><br /><font color="#224488">Q?Q检索全部学生都选修的课E的评号与评名?/font><br />    SELECT C#,CNAME <br />    FROM C <br />    WHERE NOT EXISTS <br />     (SELECT * <br />     FROM S <br />     WHERE S# NOT IN <br />      (SELECT * <br />      FROM SC <br />      WHERE  SC.C#=C.C#)) </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#800000">要从语义上分解:Q?Q选择评的课E号与课E名Q不存在不选这门课的同学?<br />   其中Q“不选这门课的同学”可以表CZؓQ?/font> </p> <table cellspacing="0" cellpadding="5" width="73%" border="0"> <tbody> <tr> <td width="44%"> <font size="2"> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000">SELECT *</font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000"> FROM  S</font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000"> WHERE  S# NOT IN</font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000">  QSELECT  *</font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000">      FROM SC  </font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000">      W</font>HERE  SC.C#=C.C#) </p> </font> <p class="main"> </p> </td> <td valign="top" width="13%"> <font color="#008000"> <b>或?/b> </font> </td> <td width="43%"> <font size="2"> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000">SELECT *</font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000"> FROM  S</font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000"> WHERE   NOT EXISTS</font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000">  QSELECT  *</font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000">      FROM SC  </font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000">      W</font>HERE S.S#=C.S# AND  </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt">SC.C#=C.C# ) </p> </font> <p class="main"> </p> </td> </tr> </tbody> </table> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <font color="#000000">      </font> </p> <p style="MARGIN: 0px 10px; LINE-HEIGHT: 18pt"> <br /> <font color="#224488">Q?Q检索选修评包含LIU老师所授课的学生学受?/font>     <br />     SELECT DISTINCT S# <br />     FROM SC <br />     WHERE C# IN <br />      (SELECT C# <br />      FROM C <br />      WHERE TEACHER='LIU'))    <br /><br /><font color="#224488" size="3">3.3 设有两个基本表RQAQBQCQ和SQDQEQFQ,试用SQL查询语句表达下列关系代数表达式: <br />  Q?Qπ<sub>A</sub>(R)  (2)σ<sub>B='17'</sub>(R)   (3)R×S  (4))π<sub>A,F</sub>(σ<sub>C=D</sub>(R×S)) </font><br />(1)SELECT A FROM R <br />(2)SELECT * FROM R WHERE B='17' <br />(3)SELECT A,B,C,D,E,F FROM R,S <br />(4)SELECT A,F FROM R,S WHERE R.C=S.D <br /><br /><font color="#224488" size="3">3.4 3.4 设有两个基本表RQAQBQCQ和SQAQBQCQ试用SQL查询语句表达下列关系代数表达式: <br />  Q?QR∪S  Q?QR∩S  Q?QRQS  Q?Qπ<sub>A,B</sub>(R)<img src="http://student.zjzk.cn/course_ware/database/image/little/join.gif" />π<sub>B,C</sub>(S) </font><br /><br />    (1)SELECT A,B,C <br />      FROM R <br />      UNION <br />      SELECT A,B,C <br />      FROM S <br /><br />    (2)SELECT A,B,C <br />      FROM R <br />      INTERSECT <br />      SELECT A,B,C <br />      FROM S <br /><br />    (3)SELECT A,B,C <br />      FROM R <br />      WHERE NOT EXISTS <br />       (SELECT A,B,C <br />       FROM S <br />       WHERE R.A=S.A AND R.B=S.B AND R.C=S.C) <br /><br />    (4)SELECT R.A,R.B,S.C <br />      FROM R,S <br />      WHERE R.B=S.B <br /><br /><font color="#224488" size="3">3.5 试叙qSQL语言的关pM数特点和元组演算特点?</font><br />QP61-62Q?<br /><br /><font color="#224488" size="3">3.6 试用SQL查询语句表达下列Ҏ学数据库中三个基本表S、SC、C的查询:</font><br /><br /><font color="#224488">Q?Q统计有学生选修的课E门数?</font><br />    SELECT COUNT(DISTINCT C#) FROM SC <br /><br /><font color="#224488">Q?Q求选修C4评的学生的q_q龄?</font><br />    SELECT AVG(AGE) <br />    FROM S <br />    WHERE S# IN <br />     (SELECT S# <br />     FROM SC <br />     WHERE C#='C4') <br />或者, <br />    SELECT AVG(AGE) <br />    FROM SQSC <br />    WHERE S.S#=SC.S# AND C#='004' <br /><br /><font color="#224488">Q?Q求LIU老师所授课E的每门评的学生^均成l?</font><br />   SELECT CNAME,AVG(GRADE) <br />   FROM SC ,C <br />   WHERE SC.C#=C.C# AND TEACHER='LIU' <br />   GROUP BY C#    <br /><br /><font color="#224488">Q?Q统计每门课E的学生选修人数Q超q?0人的评才统计)。要求输E号和选修人数Q?查询l果按h数降序排列,若h数相同,按课E号升序排列?</font><br />    SELECT DISTINCT C#,COUNT(S#) <br />    FROM SC <br />    GROUP BY C# <br />    HAVING COUNT(S#)>10 <br />    ORDER BY 2 DESC, C# ASC <br /><br /><font color="#224488">Q?Q检索学hWANG同学大,而年龄比他小的学生姓名?</font><br />    SELECT X.SNAME <br />    FROM S AS X, S AS Y <br />    WHERE Y.SNAME='WANG' AND X.S#>Y.S# AND X.AGE<Y.AGE <br /><br /><br /><font color="#224488">Q?Q检索姓名以WANG打头的所有学生的姓名和年龄?</font><br />    SELECT SNAME,AGE <br />    FROM S <br />    WHERE SNAME LIKE 'WANG%' <br /><br /><font color="#224488">Q?Q在SC中检索成lؓI值的学生学号和课E号?</font><br />    SELECT S#,C# <br />    FROM SC <br />    WHERE GRADE IS NULL <br /><br /><font color="#224488">Q?Q求q龄大于奛_学^均年龄的男学生姓名和q龄?</font><br />    SELECT SNAME,AGE <br />    FROM S AS X <br />    WHERE X.SEX='? AND X.AGE>(SELECT AVG(AGE) FROM S AS Y WHERE Y.SEX='?) <br /><br /><font color="#224488">Q?Q求q龄大于所有女同学q龄的男学生姓名和年龄?</font><br />    SELECT SNAME,AGE <br />    FROM S AS X <br />    WHERE X.SEX='? AND X.AGE>ALL (SELECT AGE FROM S AS Y WHERE Y.SEX='?) <br /><br /><font color="#224488" size="3">3.7 试用SQL更新语句表达Ҏ学数据库中三个基本表S、SC、C的各个更新操作:</font><br /><font color="#224488">Q?Q往基本表S中插入一个学生元l(‘S9’,‘WU’,18Q?/font><br />    INSERT INTO S(S#,SNAME,AGE) VALUES('59','WU',18) <br /><font color="#224488">Q?Q在基本表S中检索每一门课E成l都大于{于80分的学生学号、姓名和性别Q?q把索到的值送往另一个已存在的基本表STUDENTQSQ,SANMEQSEXQ?/font><br />    INSERT INTO STUDENT(S#,SNAME,SEX) <br />     SELECT S#,SNAME,SEX <br />     FROM S WHERE  NOT EXISTS <br />      (SELECT * FROM SC WHERE <br />       GRADE<80 AND S.S#=SC.S#) <br /><br /><font color="#224488">Q?Q在基本表SC中删除尚无成l的选课元组?/font><br />    DELETE FROM SC <br />     WHERE GRADE IS NULL <br /><br /><font color="#224488">Q?Q把WANG同学的学习选课和成l全部删厅R?/font><br />    DELETE FROM SC <br />     WHERE S# IN <br />      (SELECT S# <br />      FROM S <br />      WHERE SNAME='WANG') <br /><br /><font color="#224488">Q?Q把选修MATHS课不及格的成l全改ؓI倹{?/font><br />    UPDATE SC <br />    SET GRADE=NULL <br />    WHERE GRADE<60 AND C# IN <br />      (SELECT C# <br />      FROM C <br />      WHERE CNAME='MATHS') <br /><br /><font color="#224488">Q?Q把低于d^均成l的奛_学成l提?%?/font><br />    UPDATE SC <br />    SET GRADE=GRADE*1.05 <br />    WHERE GRADE<(SELECT AVG(GRADE) FROM SC) AND S# IN (SELECT S# FROM S WHERE SEX='F') <br /><br /><font color="#224488">Q?Q在基本表SC中修改C4评的成l,若成l小于等?5分时提高5%Q?若成l大?5分时提高4%Q用两个UPDATE语句实现Q?/font><br />    UPDATE SC <br />     SET GRADE=GRADE*1.05 <br />     WHERE C#='C4' AND GRADE<=75 <br />    UPDATE SC <br />     SET GRADE=GRADE*1.04 <br />     WHERE C#='C4' AND GRADE>75 <br /><br /><font color="#224488">3.8 在第1章例1.4中提到“仓库管理”关pL型有五个关系模式Q?<br />     零g PARTQPQ,PNAMEQCOLORQWEIGHTQ?<br />     目 PROJECTQJQ,JNAMEQDATEQ?<br />     供应商 SUPPLIERQSQ,SNAMEQSADDRQ?<br />     供应 PQPQJQ,PQ,TOTOALQ?<br />     采购 PQSQPQ,SQ,QUANTITYQ?</font><br /><br /><font color="#224488">Q?Q试用SQL DDL语句定义上述五个基本表,q说明主键和外键?/font><br />    CREATE TABLE PART <br />    (P# CHAR(4) NOT NULL,PNAME CHAR(12) NOT NULL, <br />    COLOR CHAR(10),WEIGHT REAL, <br />    PRIMARY KEY(P#)) <br />     <br />    CREATE TABLE PROJECT <br />    (J# CHAR(4) NOT NULL,JNAME CHAR(12) NOT NULL, <br />    DATE DATE, <br />    PRIMARY KEY(J#)) <br />     <br />    CREATE TABLE SUPLIER <br />    (S# CHAR(4) NOT NULL,SNAME CHAR(12),SADDR VARCHAR(20), <br />    PRIMARY KEY(S#)) <br />     <br />    CREATE TABLE P_P <br />    (J# CHAR(4),P# CHAR(4),TOTAL INTEGER, <br />    PRIMARY KEY(J#,P#), <br />    FOREIGN KEY(J#) REFERENCE PROJECT(J#), <br />    FOREIGN KEY(P#) REFERENCE PART(P#)) <br />     <br />    CREATE TABLE P_S <br />    (P# CHAR(4),S# CHAR(4),QUANTITY INTEGER, <br />    PRIMARY KEY(P#,S#), <br />    FOREIGN KEY(P#) REFERENCE PART(P#), <br />    FOREIGN KEY(S#) REFERENCE SUPLIER(S#)) <br />     <br /><br /><font color="#224488">Q?Q试PROGECT、PQP、PART三个基本表的自然联接定义Z个视图VIEW1QPART、PQS、SUPPLIER 三个基本表的自然联接定义Z个视图VIEW2?/font><br />    CREATE VIEW VIEW1(J#,JNAME,DATE,P#,PNAME,COLOR,WEIGHT,TOTAL) <br />          AS SELECT PROJECT.J#,JNAME,DATE,PART.P#,PNAME,COLOR,WEIGHT,TOTAL <br />          FROM PROJECT,PART,P_P <br />          WHERE PART.P#=P_P.P# AND P_P.J#=PROJECT.J#  <br />      <br />    CREATE VIEW VIEW2(P#,PNAME,COLOR,WEIGHT,S#,SNAME,SADDR,QUANTITY) <br />          AS SELECT PART.P#,PNAME,COLOR,WEIGHT,SUPPLIER.S#,SNAME,SADDR,QUANTITY <br />          FROM PART,P_S,SUPPLIER <br />          WHERE PART.P#=P_S.P# AND P_S.S#=SUPPLIER.S# <br /><br /><font color="#224488">Q?Q试在上qC个视囄基础上进行数据查询:</font><br /><br />    1Q检索上L供应商所供应的零件的~号和名字?<br />    SELECT P#,PNAME FROM VIEW2 WHERE SADDR='SHANGHAI' <br /><br />    2Q检索项目J4所用零件的供应商编号和名字?<br />    SELECT S#,SNAME FROM VIEW2 WHERE P# IN(SELECT P# FROM VIEW1 WHERE J#='J4') <br /><br /><font color="#224488">3.9 对于教学数据库中基本表SCQ已建立下列视图Q?<br />     CREATE VIEW SQGRADEQSQ,CQNUMQAVGQGRADEQ?<br />      AS SELECT SQ,COUNT(CQ?QAVGQGRADEQ?<br />       FROM SC <br />       GROUP BY SQ?<br />   试判断下列查询和更新是否允许执行。若允许Q写{换到基本表SC上的相应操作?</font><br /><font color="#224488">  Q?Q?SELECT * <br />      FROM SQGRADE</font><br />      允许 <br />   SELECT S#,COUNT(C#),AVG(GRADE) FROM SC GROUP BY S# <br /><br /><font color="#224488">  Q?Q?SELECT SQ,CQNUM <br />       FROM SQGRADE <br />        WHERE AVGQGRADEQ?0</font><br />    允许 <br />   SELECT S#,COUNT(C#) FROM SC WHERE AVG(GRADE)>80 <br /><br /><font color="#224488">  Q?Q?SELECT SQ,AVGQGRADE <br />        FROM SQGRADE <br />        WHERE CQNUMQ?SELECT CQNUM <br />                FROM SQGRADE <br />                WHERE SQ=‘S4?</font><br />    允许 <br />   SELECT S#,AVG(GRADE) <br />   FROM SC AS X <br />   WHERE COUNT(X.C#)>(SELECT COUNT(Y.C#) FROM SC AS Y WHERE Y.S#='S4') <br />   GROUP BY S# <br /><br /><font color="#224488">  Q?Q?UPDATE SQGRADE <br />        SET CQNUMQCQNUMQ? <br />        WHERE SQ=‘S4?/font><br />    不允?<br /><br /><font color="#224488">  Q?Q?DELETE FROM SQGRADE <br />        WHERE CQNUMQ?</font><br />    不允?<br /><br /><font color="#224488" size="3">3.10 预处理方式对于嵌入式SQL的实现有什么重要意义? </font><br />    预处理方式是先用预处理程序对源程序进行扫描,识别出SQL语句Qƈ处理成宿主语a的函数调用Ş式; 然后再用宿主语言的编译程序把源程序编译成目标E序。这P不用扩充宿主语言的编译程序, p处理SQL语句?<br /><br /><font color="#224488" size="3">3.11 在宿主语a的程序中使用SQL语句有哪些规定?</font><br />在宿主语a的程序中使用SLQ语句有以下规定: <br />Q?Q在E序中要区分SQL语句与宿主语a语句 <br />Q?Q允许嵌入的SQL语句引用宿主语言的程序变量(UCؓ׃n变量Q,但有两条规定Q?<br />   1Q引用时Q这些变量前必须加“:”作为前~标识Q以CZ数据库中变量有区别?<br />   2Q这些变量由宿主语言的程序定义,q用SQL的DECLARE语句说明?<br />Q?QSQL的集合处理方式与宿主语言单记录处理方式之间要协调?需要采用游标机Ӟ把集合操作{换成单记录处理方式?<br /><br /><font color="#224488" size="3">3.12 SQL的集合处理方式与宿主语言单记录处理方式之间如何协调?</font><br />    ׃SQL语句处理的是记录集合Q而宿主语a语句一ơ只能处理一个记录, 因此需要用游标(cousor)机制Q把集合操作转换成单记录处理方式?<br /><br /><font color="#224488" size="3">2.13 嵌入式SQL语句何时不必涉及到游标?何时必须涉及到游标? </font><br />    (1)INSERT、DELETE、UPDATE语句Q查询结果肯定是单元l时的SELECT语句Q?都可直接嵌入在主E序中用,不必涉及到游标?<br />    (2)当SELECT语句查询l果是多个元l时Q此时宿主语aE序无法使用Q?一定要用游标机制把多个元组一ơ一个地传送给宿主语言处理?</p> <img src ="http://www.tkk7.com/toaking/aggbug/81833.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/toaking/" target="_blank">Derek</a> 2006-11-17 20:18 <a href="http://www.tkk7.com/toaking/archive/2006/11/17/81833.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://yy6090qpgdy.com" target="_blank">þ޹Ƶ</a>| <a href="http://3589006.com" target="_blank">ѹҹӰ</a>| <a href="http://kingleadsw.com" target="_blank">avɫ</a>| <a href="http://8v4y.com" target="_blank">޷츾</a>| <a href="http://zuche001.com" target="_blank">޻ɫƵ</a>| <a href="http://bet06966.com" target="_blank">91ѽ</a>| <a href="http://653349.com" target="_blank">һƴɫëƬ</a>| <a href="http://kanboy.com" target="_blank">18ڵվ</a>| <a href="http://www-554949.com" target="_blank">޾ƷavƬ</a>| <a href="http://91xqq.com" target="_blank">޸ƷӰ߹ۿ</a>| <a href="http://thinkchating.com" target="_blank">2022ѹƷ</a>| <a href="http://79909d.com" target="_blank">˺ݺۺϾþ</a>| <a href="http://avqq222.com" target="_blank">ձһƷƵ</a>| <a href="http://jpsp8.com" target="_blank">޹˱ɫ߹ۿ</a>| <a href="http://caoliushequ9.com" target="_blank">պav</a>| <a href="http://xjscr.com" target="_blank">ݺady޾Ʒ</a>| <a href="http://qingdaostf.com" target="_blank">ԺԺҳ</a>| <a href="http://am3736.com" target="_blank">˳Ƶ߹ۿվ</a>| <a href="http://jogador1.com" target="_blank">˳ëƬ߲</a>| <a href="http://diswooo.com" target="_blank">Ůڵվ</a>| <a href="http://ocn888.com" target="_blank">̱߳ˬƵ99</a>| <a href="http://c7vl.com" target="_blank">˳77777վ</a>| <a href="http://601508.com" target="_blank">ͤͤѸ</a>| <a href="http://szjmlr.com" target="_blank">޳a߹ۿ</a>| <a href="http://nn227.com" target="_blank">Ʒһ߲</a>| <a href="http://831055.com" target="_blank">պѵӰַ</a>| <a href="http://tzfzs.com" target="_blank">av</a>| <a href="http://58rjz.com" target="_blank">޹ƷƬ߹ۿ</a>| <a href="http://lyaa17.com" target="_blank">Ƶ̫ˬ</a>| <a href="http://xxxck.com" target="_blank">ۺ</a>| <a href="http://137499.com" target="_blank">avַ</a>| <a href="http://ccc16938.com" target="_blank">һһһƵѿ</a>| <a href="http://www44wawa.com" target="_blank">רëƬ߳ˮ</a>| <a href="http://www-566846.com" target="_blank">޹ŮaaaëƬ</a>| <a href="http://ssdtsz.com" target="_blank">ҹӰѹۿ</a>| <a href="http://bying100.com" target="_blank">Ů1963ҹƵ</a>| <a href="http://gwcyy.com" target="_blank">AVAV̾þ</a>| <a href="http://zzyqr.com" target="_blank">޵һƵվ</a>| <a href="http://yw835.com" target="_blank">һƵѹۿ </a>| <a href="http://tskes.com" target="_blank">ճˮþ޾Ʒtv</a>| <a href="http://zisewang.com" target="_blank">һػaaëƬѹۿ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>