ASCII函数
返回与指定的字符对应的十进制数。
select ascii(‘A’), ascii(‘a’) from dual;
ASCII(‘A’) ASCII(‘A’)
———- ———-
65 97
CHR函数
给出整数,返回对应的字符。与ASCII函数互为逆运算。
select chr(65), chr(97) from dual;
CHR(65) CHR(97)
——- ——-
A a
LENGTH函数
返回字符串的长度。
select length(‘aaa’) from dual;
LENGTH(‘AAA’)
————-
3
select length(‘大家好’) from dual;
LENGTH(‘大家好’)
—————-
3
LENGTHB(c1)函数
与LENGTH()一样,按字节返回。
SELECT LENGTHB(‘AAA’) FROM dual;
LENGTHB(‘AAA’)
————–
3
SELECT LENGTHB(‘大家好’) FROM dual;
LENGTHB(‘大家好’)
——————-
6
CONCAT函数
连接两个字符串。与||操作符效果相同。
select concat(‘aaa’,’bbb’) from dual;
CONCAT(‘AAA’,’BBB’)
—————————————————————-
aaabbb
select ‘aaa’ || ‘bbb’ from dual;
‘AAA’||’BBB’
—————————————————————-
aaabbb
LOWER函数
返回字符串,并将所有的字符小写。
select lower(‘AaBbCcDd’)AaBbCcDd from dual;
AABBCCDD
——–
aabbccdd
UPPER函数
返回字符串,并将所有的字符大写。
select upper(‘AaBbCcDd’) upper from dual;
UPPER
——–
AABBCCDD
LTRIM(c1,c2)
把c1中最左边的字符去掉,使其第一个字符不在c2中,如果没有c2,那么c1就不会改变。
select LTRIM(‘aaabbbcccdddeeefffggg’, ‘abc’) “text” from dual;
text
————
dddeeefffggg
RTRIM(c1,c2)
把c1中最右边的字符去掉,使其第后一个字符不在c2中,如果没有c2,那么c1就不会改变。
select RTRIM(‘aaabbbcccdddeeefffggg’, ‘efg’) “text” from dual;
text
————
aaabbbcccddd
TRIM(c1[ from c2])
TRIM enables you to trim leading or trailing characters (or both) from a character string. If trim_character or trim_source is a character literal, then you must enclose it in single quotes.
If you specify LEADING, then Oracle removes any leading characters equal to trim_character.
If you specify TRAILING, then Oracle removes any trailing characters equal to trim_character.
If you specify BOTH or none of the three, then Oracle removes leading and trailing characters equal to trim_character.
If you do not specify trim_character, then the default value is a blank space.
If you specify only trim_source, then Oracle removes leading and trailing blank spaces.
The function returns a value with datatype VARCHAR2. The maximum length of the value is the length of trim_source.
If either trim_source or trim_character is null, then the TRIM function returns null.
Both trim_character and trim_source can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. The string returned is of VARCHAR2 datatype and is in the same character set as trim_source.
Examples
This example trims leading and trailing zeroes from a number:
SELECT TRIM (0 FROM 0009872348900) “TRIM Example” FROM DUAL;
TRIM Example
————
98723489
TRANSLATE(c1,c2,c3)
将c1中与c2相同的字符以c3代替。
select translate(‘aaabbbcccdddeeefffggg’,’abc’,’123′) text from dual;
TEXT
———————
111222333dddeeefffggg
REPLACE(c1,c2,c3)
c1,c2,c3都是字符串,函数用c3代替出现在c1中的c2后返回。
select REPLACE(‘uptown’,’up’,’down’) from dualREPLACEdowntown
SUBSTR(c1,i,j)
c1为一字符串,i,j为整数,从c1的第i位开始返回长度为j的子字符串,如果j为空,则直到串的尾部。
The “substring” functions return a portion of string, beginning at character position, substring_length characters long.
SUBSTR calculates lengths using characters as defined by the input character set.
SUBSTRB uses bytes instead of characters.
SUBSTRC uses Unicode complete characters.
SUBSTR2 uses UCS2 codepoints. SUBSTR4 uses UCS4 codepoints.
If position is 0, then it is treated as 1.
If position is positive, then Oracle counts from the beginning of string to find the first character.
If positionis negative, then Oracle counts backward from the end of string.
If substring_length is omitted, then Oracle returns all characters to the end of string. If substring_length is less than 1, then a null is returned.
string can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB,or NCLOB. The return value is the same datatype as string.
Floating-point numbers passed as arguments to SUBSTR are automatically converted to integers.
Examples
The following example returns several specified substrings of “ABCDEFG”:
SELECT SUBSTR(’ABCDEFG’,3,4) “Substring” FROM DUAL;
Substring
———
CDEF
SELECT SUBSTR(’ABCDEFG’,-5,4) “Substring” FROM DUAL;
Substring
———
CDEF
Assume a double-byte database character set:
SELECT SUBSTRB(’ABCDEFG’,5,4.2) “Substring with bytes” FROM DUAL;
Substring with bytes
——————–
CD
select SUBSTR(‘Message’,1,4) from dual;
SUBS
Mess
STBSTR(c1,i,j)
与SUBSTR大致相同,只是I,J是以字节计算。
length
返回字符串的长度。
length 属性包含一个整数,该整数指示 String 对象中的字符数。String 对象中的最后一个字符的索引为 length – 1。
var str = "aaabbbcccddd";
alert(str.length);
是属性,不需要括号的。
function charAt(index : Number) : String
返回 String 对象的指定索引处的字符
参数:index 必选。所需字符的从零开始的索引。有效值为 0 到字符串长度减 1 的数字。
备注:charAt 方法返回一个字符值,该字符值等于指定索引位置的字符。一个字符串中的第一个字符位于索引位置 0,第二个字符位于索引位置 1,依此类推。超出有效范围的 index 返回空字符串。
function charCodeAt(index : Number) : String
返回一个整数,该整数表示 String 对象中指定位置处的字符的 Unicode 编码。
参数:index 必选。所需字符的从零开始的索引。有效值为 0 到字符串长度减 1 的数字。
备注:一个字符串中的第一个字符位于索引位置 0,第二个字符位于索引位置 1,依此类推。如果指定 index 没有字符,将返回 NaN。
function toUpperCase() : String
返回一个字符串,该字符串中的所有字母都被转换为大写字母。
备注:toUpperCase 方法对非字母字符无效。
function toLowerCase() : String
返回一个字符串,该字符串中的所有字母都被转换为小写字母。
备注:toLowerCase 方法对非字母字符无效。
function tolocaleUpperCase() : String
返回一个字符串,其中所有字母都被转换为大写,同时考虑宿主环境的当前区域设置。
备注:toLocaleUpperCase 方法转换字符串中的字符,同时考虑到宿主环境的当前区域设置。在大多数情况下,其结果与使用 toUpperCase 方法所得到的结果相同。如果语言规则与常规的 Unicode 大小写映射冲突,则结果将会不同。
function tolocaleLowerCase() : String
返回一个字符串,其中所有的字母都被转换为小写,同时考虑到宿主环境的当前区域设置。
备注:toLocaleLowerCase 方法转换字符串中的字符,同时考虑到宿主环境的当前区域设置。在大多数情况下,其结果与利用 toLowerCase 方法所得到的结果相同。如果语言规则与常规的 Unicode 大小写映射冲突,则结果将会不同。
function concat([string1 : String [, … [, stringN : String]]]]) : String
返回一个字符串值,该值包含当前字符串与提供的任何字符串的连接。
参数:string1, …, stringN 可选。要连接到当前字符串末尾的 String 对象或文本。
备注:concat 方法的结果等同于:result = curstring + string1 + … + stringN。curstring 是指对象中存储的用于提供 concat 方法的字符串。源字符串中或结果字符串中的值的变化都不会影响另一个字符串中的值。如果有不是字符串的参数,则它们在连接到 curstring 之前将首先被转换为字符串。
function substring(start : Number, end : Number) : String
返回位于 String 对象中的指定位置的子字符串。
参数:
start 必选。从 0 开始的索引整数,指示子字符串的起始位置。
end 必选。从 0 开始的索引整数,指示子字符串的结束位置。
备注:
substring 方法将返回一个字符串,该字符串包含从 start 直到 end(不包含 end)的子字符串。substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如,strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。如果 start 或 end 为 NaN 或负数,那么它将被替换为 0。子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 中,返回的子字符串的长度为 3。
var str = "aaabbbcccddd";
alert(str.substring(0,3));
该函数的所有字母小写。
function substr(start : Number [, length : Number]) : String
返回一个从指定位置开始,并具有指定长度的子字符串。
参数:
start 必选。所需的子字符串的起始位置。字符串中第一个字符的索引为 0。
length 可选。返回的子字符串中包含的字符数。
备注:如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到字符串的结尾。
var str = "aaabbbcccddd";
alert(str.substr(0,3));
该函数的所有字母小写。
function split([ separator : { String | RegExp } [, limit : Number]]) : Array
返回一个字符串拆分为若干子字符串时所产生的字符串数组。
参数:
separator 可选。字符串或正则表达式对象的实例,它标识用于分隔字符串的一个或多个字符。如果忽略该参数,将返回包含整个字符串的单元素数组。
limit 可选。一个用于限制数组中返回的元素数的值。
备注:split 方法的结果是在字符串中出现 separator 的每个位置分隔字符串后产生的字符串数组。separator 将不作为任何数组元素的一部分返回。
示例:
var str = 'aaa|bbb|ccc|ddd';
var result = str.split('|');
for(var i = 0; i < result.length; i++){
alert(result[i]);
}
join()
功能:使用指定的分隔符将一个数组合并为一个字符串
例子:
var myList=new Array(”jpg”,”bmp”,”gif”,”ico”,”png”);
var portableList=myList.join(”|”);
//结果是jpg|bmp|gif|ico|png
跟split()函数是逆操作
function slice(start : Number [, end : Number]) : String
返回字符串的片段。
参数:
start 必选。指向字符串指定部分的开头的索引。
end 可选。指向字符串指定部分的结尾的索引。
备注:slice 方法返回一个包含字符串指定部分的 String 对象。
slice 方法一直复制到 end 所指示的元素,但是不包括该元素。如果 start 为负,则将其视为 length + start,此处 length 为字符串的长度。如果 end 为负,则将其视为 length + end,此处 length 为字符串的长度。如果省略 end,则将一直提取到字符串的结尾。如果 end 出现在 start 之前,则不会将任何字符复制到新字符串中。
function indexOf(subString : String [, startIndex : Number]) : Number
返回 String 对象内第一次出现子字符串的字符位置。
参数:
subString 必选。在 String 对象中搜索的子字符串。
startIndex 可选。该整数值指定在 String 对象内开始搜索的索引。若省略此参数,则搜索从字符串的起始处开始。
备注:indexOf 方法返回一个整数值,该值指示 String 对象内子字符串的起始位置。如果未找到子字符串,则返回 -1。如果 startindex 为负,则将 startindex 视为零。如果它比最大字符位置索引还大,则将它视为可能的最大索引。搜索将从左向右执行。否则,此方法与 lastIndexOf 相同。
function lastIndexOf(substring : String [, startindex : Number ]) : Number
返回 String 对象中某个子字符串的最后一个匹配项的索引。
参数:
substring 必选。在 String 对象内将被搜索的子字符串。
startindex 可选。该整数值指定在 String 对象内开始搜索的索引。若省略该参数,则搜索将从字符串的结尾开始。
备注:lastIndexOf 方法返回一个整数值,指示 String 对象内子字符串的开始位置。如果未找到子字符串,则返回 -1。如果 startindex 为负,则将 startindex 视为零。如果它比最大字符位置索引还大,则将它视为可能的最大索引。从右向左执行搜索。否则,该方法和 indexOf 相同。
function localeCompare(stringExp : String) : Number
返回一个值,指示两个字符串在当前区域设置中是否相等。
参数:stringExp 必选。要与当前字符串对象进行比较的字符串。
备注:localeCompare 对当前字符串对象和 stringExp 进行区分区域设置的字符串比较,并返回 -1、0 或 +1,这取决于系统中默认的区域设置的排序顺序。如果当前字符串对象排在 stringExp 之前,则 localeCompare 返回 -1;如果当前字符串排在 stringExp 之后,则返回 +1。如果返回值为零,则说明这两个字符串是相等的。
function match(rgExp : RegExp) : Array
使用正则表达式模式对字符串执行搜索,并返回一个包含该搜索结果的数组。
参数:
rgExp 必选。包含正则表达式模式和适用标志的 Regular Expression 对象的实例。也可以是包含正则表达式模式和标志的变量名或字符串。
备注:如果 match 方法没有找到匹配,将返回 null。如果找到匹配,则 match 方法返回一个数组,并将更新全局 RegExp 对象的属性以反映匹配结果。
match 方法返回的数组有三个属性:input、index 和 lastIndex。Input 属性包含整个被搜索的字符串。Index 属性包含了在整个被搜索字符串中匹配的子字符串的位置。LastIndex 属性包含了前一次匹配中最后一个字符的下一个位置。
如果没有设置全局标志 (g),数组的零元素包含整个匹配,而第 1 到第 n 个元素包含了匹配中曾出现过的任一个子匹配。此行为与没有设置全局标志的 exec 方法的行为相同。如果设置了全局标志,则元素 0 到 n 中包含所有出现的匹配。
function replace(rgExp : RegExp, replaceText : String) : String
返回一个字符串的副本,该字符串的文本已被使用正则表达式或搜索字符串替换。
参数:
rgExp 必选。Regular Expression 对象的实例包含正则表达式模式和适用标志。也可以是 String 对象或文本。如果 rgExp 不是 Regular Expression 对象的实例,它将被转换为字符串,并对结果进行精确的搜索;字符串将不会被试图转化为正则表达式。
replaceText 必选。一个 String 对象或字符串文本,包含用于替换当前字符串对象中 rgExp 的每个成功匹配的文本。在 Jscript 5.5 或更高版本中,replaceText 参数也可是返回替换文本的函数。
备注:在完成指定的替换之后,replace 方法的结果是当前字符串对象的副本。下面任意的匹配变量都可用于识别最新的匹配及匹配字符串。在需要动态确定替换字符串的文本替换中可以使用匹配变量。
字符 含义
$$ $(JScript 5.5 或更高版本)
$& 指定当前字符串对象中与整个模式相匹配的部分。(JScript 5.5 或更高版本)
$` 指定当前字符串对象中位于 $& 所描述的匹配前面的部分。(JScript 5.5 或更高版本)
$’ 指定当前字符串对象中位于 $& 所描述的匹配后面的部分。(JScript 5.5 或更高版本)
$n 第 n 个捕获到的子匹配,这里 n 为从 1 到 9 的十进制一位数。(JScript 5.5 或更高版本)
$nn 第 nn 个捕获到的子匹配,这里 nn 为从 01 到 99 的十进制二位数。(JScript 5.5 或更高版本)
如果 replaceText 是一个函数,对于每个匹配的子字符串,调用该函数时带有下面的 m + 3 个参数,这里 m 是在 rgExp 中用于捕获的左括弧的个数。第一个参数是匹配的子字符串。接下来的 m 个参数是搜索中捕获到的全部结果。参数 m + 2 是当前字符串对象中发生匹配位置的偏移量,而参数 m + 3 是当前字符串对象。结果为将每一匹配的子字符串替换为函数调用的相应返回值后的字符串值。Replace 方法更新全局 RegExp 对象的属性。
function search(rgExp : RegExp) : Number
返回正则表达式搜索中第一个子字符串匹配项的位置。
参数:rgExp 必选。Regular Expression 对象的实例包含正则表达式模式和适用标志。
备注:search 方法表示是否找到了匹配项。如果找到一个匹配项,则 search 方法将返回一个整数值,该值指示发生匹配处距字符串开头的偏移量。如果没有找到匹配项,则返回 -1。
function fromCharCode([code1 : Number [, … [, codeN : Number]]]]) : String
从一些 Unicode 字符值中返回一个字符串。
参数:code1, …, codeN 可选。要转换为字符串的 Unicode 字符值序列。如果没有给出参数,结果为空字符串。
备注:fromCharCode 方法是从全局 String 对象中调用的。
######################## 以下是一些不常用的方法 #################################
function anchor(anchorString : String ) : String
返回对象中指定文本周围带有 HTML 定位点(具有 NAME 属性)的字符串。
参数:anchorString是要放在 HTML 定位点 NAME 属性中的文本。
备注:调用 anchor 方法在 String 对象外创建一个命名定位点。
未进行任何检查来查看此标记是否已应用于该字符串。
function big() : String
返回 String 对象中文本周围带有 HTML <BIG> 标记的字符串。
备注:未进行任何检查来查看此标记是否已应用于该字符串。
function blink() : String
返回 String 对象中文本周围带有 HTML <BLINK> 标记的字符串。
备注:未进行任何检查来查看此标记是否已应用于该字符串。在 Microsoft Internet Explorer 中不支持 <BLINK> 标记
function bold() : String
返回 String 对象中文本周围带有 HTML <B> 标记的字符串。
备注:未进行任何检查来查看此标记是否已应用于该字符串。
function fixed() : String
返回 String 对象中文本周围带有 HTML <TT> 标记的字符串。
备注:未进行任何检查来查看此标记是否已应用于该字符串。
function fontcolor(colorVal : String) : String
返回 String 对象中文本周围带有 HTML <FONT> 标记(具有 COLOR 属性)的字符串。
参数:colorVal 必选。包含颜色值的字符串值。可以是颜色的十六进制值,也可以是颜色的预定义名。
备注:有效的预定义颜色名取决于 JScript 主机(浏览器、服务器等)。它们也可能随主机版本的不同而不同。详细信息请查阅主机文档。未进行任何检查来查看此标记是否已应用于该字符串。
function fontsize(intSize : Number) : String
返回 String 对象中文本周围带有 HTML <FONT> 标记(具有 SIZE 属性)的字符串。
参数:intSize 必选。用来指定文本大小的整数值。
备注:有效的整数值取决于 Microsoft JScript 主机。详细信息请参见主机文档。未进行任何检查来查看此标记是否已应用于该字符串。
function italics() : String
返回字符串对象中文本周围带有 HTML <I> 标记的字符串。
备注:未进行任何检查来查看此标记是否已应用于该字符串。
function link(linkstring : String) : String
返回 String 对象中文本周围带有 HTML 定位点和 HREF 属性的字符串。
备注:调用 link 方法来创建 String 对象外部的超级链接。未进行任何检查来查看此标记是否已应用于该字符串。
function small() : String
返回 String 对象中文本周围带有 HTML <SMALL> 标记的字符串。
备注:未进行任何检查来查看此标记是否已应用于该字符串。
参考文档:http://www.builder.com.cn/2005/0708/200442.shtml
DDL
数据库模式是通过一系列定义来说明的,这些定义由称作数据定义语言(Data Definition Language,英文缩写为DDL)的一种特殊语言来表达,如create table。DDL语句的编译结果是填写一系列存储在一个特殊文件中的系统表,这个特殊的文件称作数据字典。数据字典是一个包含元数据的文件,元数据是关于数据的数据。在数据库管理系统中,实际读取和修改数据前总要先查询该文件。
DML
DML是Data Manipulation Language的英文缩写,即数据操纵语言。数据操纵是指对存储在数据库中的信息进行检索、向数据库中插入新的信息、从数据库中删除信息以及修改存储在数据库中的信息。数据抽象的层次不仅适用于定义数据和组织数据,还适用于对数据的操纵。在物理层,必须定义可以高效访问数据的算法。在较高的抽象层次上,强调数据的易用性,目的是要提供人与系统间的有效交互。
数据操纵语言通常有两类:
1、过程化的DML要求用户指定需要什么数据以及如何获得这些数据;
2、非过程化的DML只要求用户指定需要什么数据,而不必指明如何获得这些数据。通常非过程化的DML比过程化的DML易学易用,但是非过程化的DML比过程化的DML的效率可能要低一些。
查询是用来对信息进行检索的语句。DML中涉及信息检索的那一部分称作查询语言。但在实际当中不严格区分查询语言和数据操纵语言,有时就简单地称为数据查询语言。
事务
事务是数据库应用中完成单一逻辑功能的操作集合,是一个既具原子性又具一致性的逻辑执行单元。
E-R模型
实体联系(E-R)数据模型基于对现实世界的这样一种认识:世界由一组称为实体的基本对象及这些对象间的联系组成。此模型的提出是为了有助于数据库设计,这是通过允许定义企业模式来实现的,企业模式代表了数据库的全局逻辑模式。E-R模型是一种语义模型,模型的语言方面主要体现在模型力图去表达数据的意义。E-R数据模型主要设计到三个主要概念:实体集、联系集和属性。
常用快捷键 作用
Ctrl+Shift+Spacebar 创建不间断空格
Ctrl+ -(连字符) 创建不间断连字符
Ctrl+B 使字符变为粗体
Ctrl+I 使字符变为斜体
Ctrl+U 为字符添加下划线
Ctrl+Shift+ 缩小字号
Ctrl+Shift+> 增大字号
Ctrl+Q 删除段落格式
Ctrl+Spacebar 删除字符格式
Ctrl+C 复制所选文本或对象
Ctrl+X 剪切所选文本或对象
Ctrl+V 粘贴文本或对象
Ctrl+Z 撤消上一操作
Ctrl+Y 重复上一操作
More …
Ctrl+N
File New
Create a new document file
Ctrl+O
File Open
Open an existing document file
Ctrl+Q
File Quick Open
Open an existing document without showing File Open dialog
Ctrl+F4
File Close
Close an existing document file
Ctrl+S
File Save
Save the active document
F12
File Save As
Save the active document as a new file
Ctrl+P
File Print
Print the active document
Ctrl+X
Edit Cut
Cut text from the document into the clipboard
Ctrl+C
Edit Copy
Copy text from the document into the clipboard
Ctrl+V
Edit Paste
Paste text from the clipboard into the active document
Ctrl+0-9
Edit Select Clipboard
Select active clipboard
Ctrl+A
Edit Select All
Select All text in the active document
Ctrl+Z
Edit Undo
Undo the last action if possible
Ctrl+Y (previously Ctrl+A)
Edit Redo
Reverse the last Undo action if possible
Ctrl+J
Edit Select Word
Select the current word (same as double click)
Ctrl+E
Edit Delete Line
Delete line the cursor is on
Ctrl+F11
Edit Delete to Start of Line
Delete from the cursor to start of line
Ctrl+F12
Edit Delete to End of Line
Delete from the cursor to end of line
Ctrl+W
Toggle Word Wrap
Toggle Word Wrap on/off
F7
Edit Insert Time/Date
Insert time/date at cursor
Alt+F3 or Ctrl+F
Find
Find a character string
Ctrl+F3
Find Prev
Repeat last find toward beginning of file
F3
Find Next
Repeat last find toward end of file
Ctrl+B
Match Brace
Find matching brace (,[,{ or },],)
Ctrl+R
Replace
Find and replace a character string with another
Ctrl+G
Goto
Goto the specified line (or HEX address)
Ctrl+U
File Tree View
Toggle File Tree View
Ctrl+F8
Tag List
Toggle Tag List
Ctrl+T
Reformat Paragraph
Reformat the current paragraph or selected text
Ctrl+F5
Format To Lower
Convert selected text to lower case
ALT+F5
Format To Upper
Convert selected text to Upper case
F5
Format Capitalize
Capitalize first character of each word in selected text
Shift+F5
Format Invert Case
Invert case of all characters in selected text
Ctrl+K
Edit Spell Check
Invoke the spelling checker
ALT+C
Column Mode
Toggle column/block mode on and off
Ctrl+Backspace
Delete previous word
Delete the word preceding the cursor
Ctrl+Delete
Delete next word
Delete the word following the cursor
Ctrl+I
Insert Literal Character
Insert a literal character at the cursor position
INS
Insert/Overstrike Mode
Toggle between Insert and Overstrike mode
Ctrl+H
HEX Edit
Toggle HEX editing mode
Ctrl+D
HEX Insert/Delete
Insert or delete characters in HEX editing mode
Ctrl+F2
Set Bookmark
Toggle bookmark on and off
F2
Goto Bookmark
Goto next bookmark
Ctrl+M
Macro Play
Replay a macro
Ctrl+L
Macro Play Multiple Times
Replay a macro the specified number of times
Ctrl+F6
Next Window
Make the next document window active
Ctrl+Shift+F6
Previous Window
Make the previous document window active
Alt+F4
Exit UltraEdit
Exit UltraEdit
Alt+0-9 or Shift+Alt+0 – 9
Insert Template
Insert user defined template
F9
DOS Command
Run DOS Window command
Ctrl+F9
Last DOS Command
Repeat last DOS Window command
F10
Execute Window Program
Execute Windows Program
Ctrl+Shift+A
Inserts ? character
(As ANSI or ASCII based on the font)
Ctrl+Shift+A (Caps Lock on)
Inserts ? character
(As ANSI or ASCII based on the font)
Ctrl+Shift+O
Inserts ? character
(As ANSI or ASCII based on the font)
Ctrl+Shift+O (Caps Lock on)
Inserts ? character
(As ANSI or ASCII based on the font)
Ctrl+Shift+U
Inserts ü character
(As ANSI or ASCII based on the font)
Ctrl+Shift+U (Caps Lock on)
Inserts ü character
(As ANSI or ASCII based on the font)
Ctrl+Shift+S
Inserts ? character
(As ANSI or ASCII based on the font)
Ctrl+Shift+S (Caps Lock on)
Inserts ? character
(As ANSI or ASCII based on the font)
Ctrl+Up
Scroll Up
Scroll up one line keeping cursor in view
Ctrl+Down
Scroll Down
Scroll down one line keeping cursor in view
F4
Change Focus
Toggle focus between active file and Tree View if shown
F8
Display Function List
Display Function List
Alt+Right
Next Paragraph
Position cursor at first not space character of next paragraph
Alt+Left
Previous Paragraph
Position cursor at first not space character of current paragraph (if positioned mid-paragraph) or previous paragraph
Alt+Page Up
Top of Window
Position cursor beginning of first line in of the display
Alt+Page Down
Bottom of Window
Position cursor beginning of last line in of the display
Alt+’-‘ (Numeric Keypad ‘-‘ only)
Scroll to Top
Position line with cursor at top of window
Alt+’+’ (Numeric Keypad ‘+’ only)
Scroll to Bottom
Position line with cursor at bottom of window
Alt+’center’ or Alt+”*” (Numeric Keypad ‘*’ only)
Scroll to Center
Position line with cursor at center of windo
Ctrl+’1′ (Numeric Keypad ‘1’ only)
End of previous word
Position the cursor at the end of the previous word
Ctrl+’2′ (Numeric Keypad ‘2’ only)
End of next word
Position the cursor at the end of the next word
窗口框架简介
窗口框架可以将窗口画面分割成都个小窗口,且每个小窗口中,可以显示不同的网页,达到在浏览器中同事浏览不同网页的效果。
当将浏览器分割成多个窗口之后,各个窗口可以扮演不同的功能。举例来说,分割之后的窗口,可以将其中之一作为菜单区域,另外一个窗口则可以作为显示功能页面的工作区域。基于B/S结构的软件在客户端经常会采用类似的设计。
窗口框架的建立
框架的基本结构,主要利用<frameset>和<frame>标签来定义。其中,<frameset>用来定义一个窗口框架组件,而<frame>标签则用于定义窗口框架中的子窗口组件。因此,一组窗口框架的标准格式与语法如下所示:
<frameset>
<frame/>
<frame/>
<frame/>
….
</frameset>
使用<frameset>标签的时候是不能同时使用<body>标签的。对于不支持<frameset>标签的浏览器,可以使用<noframes>标签来包含一些提示文本,而这些提示文本则需要放在<body>标签内。
下面的示例将这个窗口垂直分割成三个子窗口,每个<frame>代表一个分割后的子窗口。
<html>
<frameset cols = “25%, 25%,*”>
<frame src =”1.htm” />
<frame src =”2.htm” />
<frame src =”3.htm” />
</frameset>
</html>
<fameset>的属性设置
cols和rows属性
窗口分割时,用来定义子窗口的大小。cols为垂直分割,rows为水平分割。单位可以为像素、百分比、*。*代表自行分配。
frameborder属性
该属性用来设置框架边框。在默认情况下,框架集中的所有框架及框架集窗口本身都被赋予了一个3D边框。可以通过设置frameborder为0或者no来清除边框,将值设置为1或者yes则可以将边框显示出来。
border属性
该属性用来设置边框的宽度,在IE浏览器中无效,在NetScape浏览器中才会生效。在IE浏览器中是通过framespacing属性设置边框宽度的。
framespacing属性
用来设置边框宽度。
bordercolor属性
用来设置边框颜色。
class、id、style、title属性
同其他大多数标准标签一样,<frameset>包含这四个标准属性。
onLoad、onUnload事件
Javascript的事件处理器。
<frame>标签
<frame>标签只出现在<frameset>标签内。通过使用与它关联的src属性,可以用它来设定文本内容的URL,这些内容最开始就显示在各个框架中。浏览器将框架从左到右一列一列,从上到下一行一行地防止在一个框架集中,因此<frame>标签在<frameset>标签中的顺序和数目很重要。
<frame>的属性设置
src属性
用来设置要在框架中显示的文档的URL。
name和id属性
name属性用来对框架进行标记,以便以后被用于超文本链接(<a>)和<form>标签的target属性所引用。使用这用方法,就可以用一个框架中的链接改变另外一个框架中的内容。
id属性也对框架进行了唯一标识,但浏览器不支持其用于目标重定向。
noresize属性
禁止用户手动改变框架中行或列的大小。使用方式为noresize=”noresize”。
scrolling属性
对于那些内容超出所分配的窗口空间的框架而言,浏览器会显示出垂直和水平的滚动条。通过使用scrolling属性,可以显示的控制滚动条的出现与消失。
scrolling可以设置为yes、no、auto。
marginheight和marginwidth属性
浏览器通常会在框架的边沿和其内容之间留下一小部分间隔。可以使用marginheight和marginwidth属性修改这个间隔的大小。
frameborder和bordercolor属性
可以使用frameborder属性对一个单一的框架添加或者删除边框。
frameborder可以设置的值为yes | no或1 | 0。
bordercolor用来修改单一框架的边框颜色。
<iframe>标签
可以使用<iframe>标签定义一个内联框架。这个<iframe>标签不是用在<frameset>标签内。相反,它可以出现在文档中任何可以出现<img>标签的地方。<iframe>标签在文档中定义了一个矩形的区域,这这个区域里,浏览器会显示一个单独的文档,包括滚动条和边框。
<iframe>标签的属性设置
src属性
用来指定占据这个内联框架的文档的URL。
align属性
同<table>标签的align属性一样,这个内联框架属性使你能够控制内联在相邻文本的什么地方。当使用top、middle、bottom作为其值时,框架将分别对其在相邻文本的顶端、中间或者底部;当使用left、right作为其值时,框架将分别移动到文本流的左边或者右边,并且文档的其余内容会沿着这个框架显示;如果设置为center,可将这个框架放置在显示画面的中间,文本显示在这个框架的上边和下边。
height和width属性
用来设置框架的高度和宽度。
其他属性
<iframe>的其他属性,包括class、frameborder、id、marginheight、marginwidth、name、scrolling、style、title,他们的设置同<frame>标签完全一致。
一些参考链接:
<FRAMESET>
http://www.w3schools.com/tags/tag_frameset.asp
http://htmlhelp.com/reference/html40/frames/frameset.html
http://www.dreamdu.com/xhtml/tag_frameset/
http://www.aspxuexi.com/html/2006-8-6/749.htm
<FRAME>
http://htmlhelp.com/reference/html40/frames/frame.html
http://www.gzsums.edu.cn/webclass/html/frame.html
http://www.blabla.cn/html_tutorials/030_html_frame.html
<NOFRAME>
http://htmlhelp.com/reference/html40/frames/noframes.html
URL
URL(统一资源定位符)提供在 Internet 上定位资源所需的信息。可将它想象为一个地址。URL 的第一部份指定了访问信息所用的协议,后面总是跟着冒号。常用的协议有”ftp”(代表“文件传输协议”)和 “http” (代表“超文本传输协议”)。如果协议是 “file”,表示资源是在某个本地文件系统上而非在 Internet 上(下例用于表示我们所描述的部分;它并非 URL 的组成部分)。
ftp://javasoft.com/docs/JDK-1_apidocs.zip
http://java.sun.com/products/jdk/CurrentRelease
file:/home/haroldw/docs/books/tutorial/summary.html
URL 的其余部份(冒号后面的)给出了数据资源所处位置的有关信息。如果协议是 file,则 URL 的其余部份是文件的路径。对于 ftp 和http 协议,URL 的其余部份标识了主机并可选地给出某个更详尽的地址路径。例如,以下是 JavaSoft 主页的URL。该 URL 只标识了主机:http://java.sun.com。从该主页开始浏览,就可以进到许多其它的网页中,其中之一就是JDBC 主页。JDBC 主页的 URL 更为具体,它看起来类似: http://java.sun.com/products/jdbc。
JDBC URL
JDBC URL 提供了一种标识数据库的方法,可以使相应的驱动程序能识别该数据库并与之建立连接。实际上,驱动程序编程员将决定用什么 JDBC URL 来标识特定的驱动程序。用户不必关心如何来形成JDBC URL;他们只须使用与所用的驱动程序一起提供的 URL 即可。JDBC 的作用是提供某些约定,驱动程序编程员在构造他们的 JDBC URL 时应该遵循这些约定。
由于 JDBC URL 要与各种不同的驱动程序一起使用,因此这些约定应非常灵活。首先,它们应允许不同的驱动程序使用不同的方案来命名数据库。例如, odbc 子协议允许(但并不是要求) URL 含有属性值。第二,JDBC URL 应允许驱动程序编程员将一切所需的信息编入其中。这样就可以让要与给定数据库对话的 applet 打开数据库连接,而无须要求用户去做任何系统管理工作。第三, JDBC URL 应允许某种程度的间接性。也就是说,JDBC URL 可指向逻辑主机或数据库名,而这种逻辑主机或数据库名将由网络命名系统动态地转换为实际的名称。这可以使系统管理员不必将特定主机声明为JDBC 名称的一部份。网络命名服务(例如 DNS、 NIS 和DCE )有多种,而对于使用哪种命名服务并无限制。JDBC URL 的标准语法如下所示。它由三部分组成,各部分间用冒号分隔:
jdbc:< 子协议 >:< 子名称 >
JDBC URL 的三个部分可分解如下:
jdbc
协议,JDBC URL 中的协议总是 jdbc。
<子协议>
驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称。子协议名的典型示例是 “odbc”,该名称是为用于指定 ODBC 风格的数据资源名称的 URL 专门保留的。例如,为了通过JDBC-ODBC 桥来访问某个数据库,可以用如下所示的 URL:jdbc:odbc:fred。本例中,子协议为 “odbc”,子名称 “fred” 是本地ODBC 数据资源。
如果要用网络命名服务(这样 JDBC URL 中的数据库名称不必是实际名称),则命名服务可以作为子协议。例如,可用如下所示的 URL :jdbc:dcenaming:accounts-payable。本例中,该 URL 指定了本地 DCE 命名服务应该将数据库名称 “accounts-payable” 解析为更为具体的可用于连接真实数据库的名称。
子协议 odbc 是一种特殊情况。它是为用于指定 ODBC 风格的数据资源名称的 URL 而保留的,并具有下列特性:允许在子名称(数据资源名称)后面指定任意多个属性值。odbc 子协议的完整语法为: jdbc:odbc:< 数据资源名称 >[;< 属性名 >=< 属性值 >]*。因此,以下都是合法的 jdbc:odbc 名称:
jdbc:odbc:qeor7jdbc:odbc:wombat
jdbc:odbc:wombat;CacheSize=20;ExtensionCase=LOWER
jdbc:odbc:qeora;UID=kgh;PWD=fooey
<子名称>
一种标识数据库的方法。子名称可以依不同的子协议而变化。它还可以有子名称的子名称(含有驱动程序编程员所选的任何内部语法)。使用子名称的目的是为定位数据库提供足够的信息。前例中,因为 ODBC 将提供其余部份的信息,因此用 “fred” 就已足够。然而,位于远程服务器上的数据库需要更多的信息。例如,如果数据库是通过Internet 来访问的,则在 JDBC URL 中应将网络地址作为子名称的一部份包括进去,且必须遵循如下所示的标准 URL 命名约定://主机名:端口/子协议假设 “dbnet” 是个用于将某个主机连接到 Internet 上的协议,则 JDBC URL 类似:jdbc:dbnet://wombat:356/fred 2.1.4 “odbc”
常用JDBC URL:
MySQL
Class.forName( “org.gjt.mm.mysql.Driver” );
cn = DriverManager.getConnection( “jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName”, sUsr, sPwd );
Microsoft SQLServer
Class.forName( “com.microsoft.jdbc.sqlserver.SQLServerDriver” );
cn = DriverManager.getConnection( “jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master”, sUsr, sPwd );
Oracle
Class.forName( “oracle.jdbc.driver.OracleDriver” );
cn = DriverManager.getConnection( “jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL”, sUsr, sPwd );
DB2
Class.forName(“com.ibm.db2.jdbc.net.DB2Driver”);
String url=”jdbc:db2://192.9.200.108:6789/SAMPLE”
cn = DriverManager.getConnection( url, sUsr, sPwd );
ODBC
Class.forName( “sun.jdbc.odbc.JdbcOdbcDriver” );
Connection cn = DriverManager.getConnection( “jdbc:odbc:” + sDsn, sUsr, sPwd );
PostgreSQL
Class.forName( “org.postgresql.Driver” );
cn = DriverManager.getConnection( “jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName”, sUsr, sPwd );
数组的简介
数组是应用最广泛的数据结构,典型的数组是用来集合相同类型的对象并通过一个名称来引用这个集合。它被植入到了大部分编程语言中。在Java编程语言中,数组是一个对象。
数组的使用分三步:
1:声明数组 ;
2:创建数组 ;
3:初始化数组。
数组的声明
声明不能创建对象本身,而创建的是一个引用,该引用可被用来引用数组。
char s[];
Point p[]; // where point is a class
上述这种将方括号置于变量名之后的声明数组的格式,是用于C、C++和Java编程语言的标准格式。这种格式会使声明的格式复杂难懂,因而,Java编程语言允许一种替代的格式,该格式中的方括号位于变量名的左边:
char[] s;
Point[] p;
这样的结果是,你可以认为类型部分在左,而变量名在右。上述两种格式并存,你可选择一种你习惯的方式。声明不指出数组的实际大小。
NOTE:当数组声明的方括号在左边时,该方括号可应用于所有位于其右的变量
创建数组
你可以象创建对象一样,使用关键字new 创建一个数组。
s = new char[20];
p = new Point[100];
第一行创建了一个20个char值的数组,第二行创建了一个100个类型Point的变量。然而,它并不创建100个Point对象;创建100个对象的工作必须分别完成如下:
p[0] = new Point();
p[1] = new Point();
…
用来指示单个数组元素的下标必须总是从0开始,并保持在合法范围之内--大于0或等于0并小于数组长度。任何访问在上述界限之外的数组元素的企图都会引起运行时出错。下面还要谈到一些更好的数组初始化方法。
初始化数组
当创建一个数组时,每个元素都被初始化。在上述char数组s的例子中,每个值都被初始化为0 (\u0000-null)字符;在数组p的例子中, 每个值都被初始化为null,表明它还未引用一个Point对象。在经过赋值 p[0] = new Point()之后,数组的第一个元素引用为实际Point对象。
NOTE:所有变量的初始化(包括数组元素)是保证系统安全的基础,变量绝不能在未初始化状态使用。
Java编程语言允许使用下列形式快速创建数组:
String names [] = {
“Georgianna”,
“Jen”,
“Simon”,
};
其结果与下列代码等同:
String names [] ;
names = new String [3];
names [0] = “Georgianna”;
names [1] = “Jen”;
names [2] = “Simon”;
这种”速记”法可用在任何元素类型。例如:
Myclass array [] = {
new Myclass (),
new Myclass (),
new Myclass ()
};
适当的类类型的常数值也可被使用:
Color palette [] = {
color.blue,
color.red,
color.white
};
多维数组
Java编程语言没有象其它语言那样提供多维数组。因为一个数组可被声明为具有任何基础类型,所以你可以创建数组的数组(和数组的数组的数组,等等)。一个二维数组如下例所示:
int twoDim [][] = new int [4][];
twoDim[0] = new int[5];
twoDim[1] = new int[5];
首次调用new而创建的对象是一个数组,它包含4个元素,每个元素对类型array of int的元素都是一个null引用并且必须将数组的每个点分别初始化。
NOTE:尽管声明的格式允许方括号在变量名左边或者右边,但此种灵活性不适用于数组句法的其它方面。例如: new int [][4]是非法的。因为这种对每个元素的分别初始化,所以有可能创建非矩形数组的数组。也就是说,twoDim的元素可按如下方式初始化:
twoDim[0] = new int [2]
twoDim[1] = new int [4];
twoDim[2] = new int [6];
twoDim[3] = new int [8];
由于此种初始化的方法烦琐乏味,而且矩形数组的数组是最通用的形式,因而产生了一种”速记”方法来创建二维数组。例如:
int twoDim [][] = new int [4][5];
可被用来创建一个每个数组有5个整数类型的4个数组的数组。
数组界限
在Java编程语言中,所有数组的下标都从0开始。 一个数组中元素的数量被作为具有length属性的部分数组对象而存储; 这个值被用来检查所有运行时访问的界限。如果发生了一个越出界限的访问,那么运行时的报错也就出现了。
使用length属性的例子如下:
int list [] = new int [10];
for (int i= 0; i< list.length; i++)
System.out.println(list[i]);
使用length属性使得程序的维护变得更简单。
拷贝数组
数组一旦创建后,其大小不可调整。然而,你可使用相同的引用变量来引用一个全新的数组:
int myArray [] = new int [6];
myArray = new int [10];
在这种情况下,第一个数组被有效地丢失,除非对它的其它引用保留在其它地方。
Java编程语言在System类中提供了一种特殊方法拷贝数组,该方法被称作arraycopy()。
函数原型:public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
使用如下:
// original array
int myArray[] = { 1, 2, 3, 4, 5, 6 };
// new larger array
int hold[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// copy all of the myArray array to the hold
// array, starting with the 0th index
System.arraycopy(myArray, 0, hold, 0,myArray.length);
于是,数组hold有如下内容:1,2,3,4,5,6,4,3,2,1。
这个函数可以实现自己到自己复制,比如:
int[] fun ={0,1,2,3,4,5,6};
System.arraycopy(fun,0,fun,3,3);
则结果为:{0,1,2,0,1,2,6};
实现过程是这样的,先生成一个长度为length的临时数组,将fun数组中srcPos到srcPos+length-1之间的数据拷贝到临时数组中,再执行System.arraycopy(临时数组,0,fu)。
NOTE:
(1)在处理对象数组时,System.arraycopy()拷贝的是引用,而不是对象。对象本身不改变。
(2)src and dest都必须是同类型或者可以进行转换类型的数组。