<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[北大青鸟Aptech]]></title>
<link>http://www.jb-accp/Blog1/</link>
<description><![CDATA[北京北大公学授权培训中心]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[Nolan8@VIP.QQ.com(Nolan)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>北大青鸟Aptech</title>
	<url>http://www.jb-accp/Blog1/images/logos.gif</url>
	<link>http://www.jb-accp/Blog1/</link>
	<description>北大青鸟Aptech</description>
</image>

			<item>
			<link>http://www.jb-accp/Blog1/article/164.htm</link>
			<title><![CDATA[JSP连接mysql数据库攻略]]></title>
			<author>Nolan8@VIP.QQ.com(accp)</author>
			<category><![CDATA[学习资料]]></category>
			<pubDate>Sat,29 Nov 2008 18:46:57 +0800</pubDate>
			<guid>http://www.jb-accp/Blog1/default.asp?id=164</guid>
		<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 连续几天安装配置和连接Mysql数据库，今天终于成功了，回想这几天，真的是甜酸苦辣都有，单mysql就重装了不下10次，而在eclipse上编写的连接数据库的程序总是报错．我都已经down了oracal准备放弃mysql了，不过．．．就象电视剧演的那样，转机总是在这个时候出现，先是看到了saulzy关于mysql4.1.11版本的安装介绍，接着又找到了一款不错的mysql 界面插件，最后在网友的帮助下把mysql的JDBC驱动配好并连通了．一连5天，日子真不好过阿，不过这个过程中，我也觉得自己学到不少东西，呵呵，反正都撑过来了，就要继续往前走．现在，就这几天弄的总结一下，希望对同是正在学习JAVA技术的同道中人能有帮助．<br />
<br />
　　(相关链接：&quot;配置Eclpise+tomcat并实现JSP的编写与部署&quot;)<br />
<br />
<strong>一． 软件<a href="http://dl.163.com/" target="_blank"><font color="#0066cc">下载</font></a><br />
</strong>　　Mysql<br />
　　下载版本：4.1.11<br />
　　<a href="http://dev.mysql.com/downloads/mysql/4.1.html" target="_blank"><font color="#0066cc">http://dev.mysql.com/downloads/mysql/4.1.html</font></a><br />
<br />
　　JDBC驱动<br />
　　下载版本：3.1.8<br />
　　<a href="http://dev.mysql.com/downloads/connector/j/3.1.html" target="_blank"><font color="#0066cc">http://dev.mysql.com/downloads/connector/j/3.1.html</font></a><br />
<br />
　　Mysql界面插件:mysql-front<br />
　　下载版本镜像：HongKong（我下回来安装就是中文版了）<br />
　　<a href="http://www.mysqlfront.de/download.html" target="_blank"><font color="#0066cc">http://www.mysqlfront.de/download.html</font></a><br />
<br />
<strong>二． 软件安装<br />
</strong>　　1.安装mysql<br />
　　请参阅相关文章，推荐文章：<a href="http://blog.csdn.net/saulzy/archive/2005/04/23/359648.aspx" target="_blank"><font color="#0066cc">http://blog.csdn.net/saulzy/archive/2005/04/23/359648.aspx</font></a><br />
<br />
　　2.JDBC驱动：mysql-connector-java-3.1.8<br />
　　这只是一个压缩包，并不需要安装，只要将其解压，我么使用的是文件夹mysql-connector-java-3.1.8里的文件：mysql-connector-java-3.1.8-bin.jar．<br />
<br />
　　3. Mysql界面插件:mysql-front<br />
　　这是一个安装程序，按照提示安装就可以了．<br />
<br />
<strong>三． 环境配置</strong><br />
　首先，我要说明的是我现在tomcat的安装路径是: D:\Program Files\Java\Tomcat；JDK的安装路径是：D:\Program Files\Java\j2sdk。<br />
<br />
　　在这里，需要配置环境变量的是JDBC驱动．在配置前先要把刚才说到的mysql-connector-java-3.1.8-bin.jar本地硬盘某处（我放的地方：D:\Program Files\Java\mysqlforjdbc），然后根据你放的地方，配置classpath，我的配置是这样的：</p>
<p>　　D:\Program files\Java\j2sdk\lib\tools.jar;</p>
<p>　　D:\Program Files\Java\j2sdk\lib\mysql-connector-java-3.1.8-bin-g.jar;</p>
<p>　　D:\Program Files\Java\mysqlforjdbc\mysql-connector-java-3.1.8-bin.jar<br />
　　配置这个的目的是让你的java应用程序找到连接mysql的驱动．<br />
<br />
　　配置完环境变量后还有很重要一步就是为JSP连接数据库配置驱动，这个其实很简单，就是把mysql-connector-java-3.1.8-bin.jar拷到某些文件夹里就行了，我在网上看了很多资料问了很多人，各种说法都有，我综合了一下，为了保险，我都全做了，呵呵，反正就是拷一个400K的文件而已，现列出要把mysql-connector-java-3.1.8-bin.jar拷进去的文件夹，如下：<br />
　　D:\Program Files\Java\Tomcat\common\lib<br />
　　D:\Program Files\Java\Tomcat\shared\lib<br />
<br />
<strong>四． 数据库的使用<br />
</strong><br />
　　Mysql安装完毕以后，还有一些要注意的地方（推荐文章）：<a href="http://blog.csdn.net/saulzy/archive/2005/04/23/359811.aspx" target="_blank"><font color="#0066cc">http://blog.csdn.net/saulzy/archive/2005/04/23/359811.aspx</font></a></p>
<p>　　就象在文章提到的，mysql安装好后最重要一样就是要看数据库有没有作为系统服务启动了，所以在大家进行数据库操作前，应要看看，在<a href="http://tech.163.com/special/O/000915A0/OS.html"><font color="#0066cc">操作系统</font></a>的开始－＞运行－＞输入services.msc，确定你在安装时你设置的关于mysql的那个服务已经启动，这样你在操作数据库时不会报连接不上的错误．</p>
<p>　　上面提到了一个较方便的mysql界面插件，但是这个界面是我在已经开始使用mysql后才找到的，刚开始我是在dos下用命令行进行操作的．虽然那个界面也可以进行建库啊，设定权限等操作，但是，我觉得懂得在使用命令行也是一个很重要的技能，所以我先从命令行开始说，怎样简单使用mysql．到后面会谈及mysql－front的使用．<br />
<br />
　　现在我想在mysql里建一个数据库shujuku，以及在数据库里建一个表biao．具体的命令如下（假设mysql我是刚安装好的）<br />
<br />
　　1. 进入dos状态（记住命令行的要运行在mysql的安装目录下的bin目录的）</p>
<p>　　2. 连接mysql<br />
　　输入：mysql &ndash;h localhost &ndash;u root &ndash;p<br />
　　输入在安装时已设好的密码，就近入了mysql的命令编辑界面了。<br />
<br />
　　3. 使用mysql的基本命令(在mysql命令行编辑每输入完命令后最后一定要有分号，不然会报错)<br />
　　显示数据库：show databases;<br />
　　使用数据库：use 数据库名；<br />
<br />
　　4．建库<br />
　　命令：create database shujuku;<br />
<br />
　　5.为数据库设置权限（用户和密码）<br />
　　命令：grant all privileges on shujuku.* to test@localhost identified by &ldquo;123456&rdquo;;<br />
　　当你执行完这个命令以后，只要你再以用户名：test,密码：123456登录时你就只可以对shujuku这个数据库操作，这样避开使用root，对数据库的安全有很大帮助．<br />
<br />
　　6.建表<br />
　　命令：create table biao(id int(8) primary key,name varchar(10));<br />
<br />
　　剩下来的与标准sqsl命令基本上是一样的，具体操作略<br />
　　值得一提的是，你在命令行上输入＂？＂，就会有mysql命令的简单帮助，如下：<br />
<br />
　　呵呵，那样，我们还可以知道退出，就是＂exit＂，呵呵！<br />
<br />
<strong>五． 关于mysql-front的使用<br />
</strong>　　我找了好几个mysql的界面工具，觉得最简洁方便还是mysql-front，可惜的是要收费，不过还好有试用期，呵呵，可以先感受感受一下，最重要一点是mysql-front有简体中文版的，英文不好的我用起来就舒服多了．下面简单说说使用吧．</p>
<p>　　首先，安装就不用说了，有向导，而且很简单．安装好后第一次运行时会跳出来一个要求添加对话的框，在这里你可以添加例如上面已经设定好的shujuku，过程如下:<br />
　　当你在注册的复选框里填上你在上面mysql设定好的用户名和密码后，在选择数据库框里就有shujuku 的数据库了，选上，按确定．进入mysql-fron后，你就会看到下面的界面，这是你就可以进行操作了．<br />
<br />
　　要说明的是，你还可以把root用户也加进去，这要你在mysql-fron的界面上选设置－＞对话－＞新建，再按上面进行就可以，出了root你还可以加入更多的用户，方法还是一样的，设置不同的用户，是方便对不同数据库进行管理，呵呵，root是权限最高的，可不要随便让别人使用你的root用户，保正你数据库的安全．<br />
<br />
<strong>六． JSP连接mysql<br />
</strong>　　现在就是尝试用jsp连接mysql了<br />
　　我在eclipse里建了个test_mysql.jsp页面，代码如下：<br />
&nbsp;</p>
<p><code>&lt;%@ page contentType=&quot;text/html; charset=gb2312&quot; %&gt;<br />
<br />
&lt;%@ page language=&quot;java&quot; %&gt;<br />
<br />
&lt;%@ page import=&quot;com.mysql.jdbc.Driver&quot; %&gt;<br />
<br />
&lt;%@ page import=&quot;java.sql.*&quot; %&gt;<br />
<br />
&lt;%<br />
<br />
//驱动程序名<br />
<br />
String driverName=&quot;com.mysql.jdbc.Driver&quot;;<br />
<br />
//数据库用户名<br />
<br />
String userName=&quot;cl41&quot;;<br />
<br />
//密码<br />
<br />
String userPasswd=&quot;123456&quot;;<br />
<br />
//数据库名<br />
<br />
String dbName=&quot;db&quot;;<br />
<br />
//表名<br />
<br />
String tableName=&quot;dbtest&quot;;<br />
<br />
//联结字符串<br />
<br />
String url=&quot;jdbc:mysql://localhost/&quot;+dbName+&quot;?user=&quot;+userName+&quot;&amp;password=&quot;+userPasswd;<br />
<br />
Class.forName(&quot;com.mysql.jdbc.Driver&quot;).newInstance();<br />
<br />
Connection connection=DriverManager.getConnection(url);<br />
<br />
Statement statement = connection.createStatement();<br />
<br />
String sql=&quot;Select * FROM &quot;+tableName;<br />
<br />
ResultSet rs = statement.executeQuery(sql); <br />
<br />
//获得数据结果集合<br />
<br />
ResultSetMetaData rmeta = rs.getMetaData();<br />
<br />
//确定数据集的列数，亦字段数<br />
<br />
int numColumns=rmeta.getColumnCount();<br />
<br />
// 输出每一个数据值<br />
<br />
out.print(&quot;id&quot;); <br />
<br />
out.print(&quot;|&quot;);<br />
<br />
out.print(&quot;num&quot;);<br />
<br />
out.print(&quot;&lt;br&gt;&quot;);<br />
<br />
while(rs.next()) {<br />
<br />
out.print(rs.getString(1)+&quot; &quot;); <br />
<br />
out.print(&quot;|&quot;);<br />
<br />
out.print(rs.getString(2));<br />
<br />
out.print(&quot;&lt;br&gt;&quot;); <br />
<br />
} <br />
<br />
out.print(&quot;&lt;br&gt;&quot;);<br />
<br />
out.print(&quot;数据库操作成功，恭喜你&quot;); <br />
<br />
rs.close(); <br />
<br />
statement.close(); <br />
<br />
connection.close(); <br />
<br />
%&gt;</code><br />
　　然后把test&shy;_mysql.jsp部署到tomcat处，如何部署可参考&quot;配置Eclpise+tomcat并实现JSP的编写与部署&quot;，在浏览器中就可以看到结果了。<br />
<br />
　　希望这篇文章的你有帮助！Good luck! <br clear="all" />
&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.jb-accp/Blog1/article/163.htm</link>
			<title><![CDATA[Oracle数据库Spfile学习总结]]></title>
			<author>Nolan8@VIP.QQ.com(accp)</author>
			<category><![CDATA[学习资料]]></category>
			<pubDate>Thu,27 Nov 2008 20:02:35 +0800</pubDate>
			<guid>http://www.jb-accp/Blog1/default.asp?id=163</guid>
		<description><![CDATA[<p><strong>创建SPFILE</strong></p>
<p>缺省的，ORACLE使用PFILE启动数据库，SPFILE必须由PFILE创建，新创建的SPFILE在下一次启动数据库时生效，Create SPFILE需要SYSDBA或者SYSOPER的权限：</p>
<p><em>Create spfile [=&rsquo;spfilename&rsquo;] from pfile=[=&lsquo;pfilename&rsquo;];</em></p>
<p>例：</p>
<p><em>Create spfile from pfile;</em></p>
<p><strong>使用spfile</strong></p>
<p>重新启动数据库，使用startup命令，Oralce将会按照以下顺序在缺省目录中搜索参数文件a. spfile${ORACLE_SID}.ora</p>
<p>缺省目录UNIX: ${ORACLE_HOME}/dbs/</p>
<p>NT: ${ORACLE_HOME}\database</p>
<p>b. spfile.ora</p>
<p>缺省目录UNIX: ${ORACLE_HOME}/dbs/</p>
<p>NT: ${ORACLE_HOME}\database</p>
<p>c. init${ORACLESID}.ora</p>
<p>缺省目录UNIX: ${ORACLE_HOME}/dbs/</p>
<p>NT: ${ORACLE_HOME}\database or ${ORACLE_HOME}\admin\db_name\pfile</p>
<p>创建了spfile,重新启动数据库，Oracle会按顺序搜索以上目录，spfile就会自动生效。</p>
<p><strong>修改参数</strong></p>
<p>可以通过Alter SYSTEM或者导入导出来更改SPFILE的内容。</p>
<p>Alter SYSTEM增加了一个新选项：SCOPE。SCOPE参数有三个可选值：MEMORY、SPFILE、BOTH。</p>
<p>MEMORY:只改变当前实例运行</p>
<p>SPFILE:只改变SPFILE的设置</p>
<p>BOTH:改变实例及SPFILE</p>
<p>是否使用了spfile</p>
<p>1. 查询v$parameter动态视图，如果以下查询返回空值，那么你在使用pfile.</p>
<p>2. 或者你可以使用SHOW命令来显示参数设置，如果以下结果value列返回空值，那么说明你在使用pfile:</p>
<p>3. 查询v$spparameter视图，如果以下查询返回0值，表示你在使用pfile,否则表明你使用的是spfile:</p>
<p><strong>导出SPFILE文件</strong></p>
<p>SPFILE文件可以导出为文本文件，使用导出、创建过程你可以向SPFILE中添加参数。</p>
<p><em>Create pfile=&rsquo;/home/oracle/initxu.ora&rsquo; from spfile</em></p>]]></description>
		</item>
		
			<item>
			<link>http://www.jb-accp/Blog1/article/162.htm</link>
			<title><![CDATA[Foxpro默认的工作环境]]></title>
			<author>Nolan8@VIP.QQ.com(accp)</author>
			<category><![CDATA[学习资料]]></category>
			<pubDate>Tue,25 Nov 2008 20:00:28 +0800</pubDate>
			<guid>http://www.jb-accp/Blog1/default.asp?id=162</guid>
		<description><![CDATA[<div id="Content"><font class="text">
<p>　　　VFP 安装完成后，其&quot;内部&quot;保存着对所有环境参数的设置，这些参数可以称做是原始设置。您永远也不能够去修改这些原始设置。但 VFP 提供一种机制允许您每次启动时用自己的设置去覆盖这组原始设置。方法是是使用 Windows 注册表及配置文件。</p>
<p>　　启动时，VFP 首先会检查 Windows 注册表中的有关设置，然后据此修改环境参数。然后还会查找一个配置文件，该文件默认的名字为 config.fpw，其中也存放着一些环境配置信息。VFP 将读取这些信息，并再次修改环境参数。如果 VFP 在Windows 注册表中没有找到配置信息或者没有找到配置文件，这没有关系，VFP 将以原始配置进行工作。您甚至可以主动让 VFP 在启动时放弃读取注册表及配置文件。</p>
<p>　　VFP 不会主动把环境参数写进 Windows 注册表中，但它提供了一种方法使您方面地将环境参数写进注册表，写入不仅针对修改过的参数，而是所有参数，您没有去修改的参数值将以原始值写入。配置文件则不同，它只保存您写入的参数，某种意义上，它相当是一份注册表中的环境参数表的勘误。</p>
<p>　　保存在 Windows 注册表中的环境参数以及配置文件中的设置称做&quot;默认工作环境&quot;</p>
</font></div>]]></description>
		</item>
		
			<item>
			<link>http://www.jb-accp/Blog1/article/161.htm</link>
			<title><![CDATA[PowerBuilder编程技巧四则]]></title>
			<author>Nolan8@VIP.QQ.com(accp)</author>
			<category><![CDATA[学习资料]]></category>
			<pubDate>Sat,22 Nov 2008 20:02:35 +0800</pubDate>
			<guid>http://www.jb-accp/Blog1/default.asp?id=161</guid>
		<description><![CDATA[<div>一、用Enter键实现物件的焦点切换 <br />
　　在PowerBuilder中已定义许多事件所对应的MessageID,而在其所提供的元件, <br />
大部分有对应的keydown事件,其ID值不一定相同,例如在datawindow－&gt;pbm_dwnkey, <br />
singlelineedit－&gt;pbm_keydown,其他参考使用手册。因此先对使用的元件新增key <br />
的使用者事件,当user在元件上按任何按键时,将会触发此keydown事件。 <br />
<br />
　　你将获得所传的参数key（按键代码）、keyflags（复合键代码）,当所按的 <br />
是Enter时,你就把焦点切换到下一元件或下一栏位。 <br />
<br />
　　1.选择要处理的datawindowcontrol，然後选择menu的declare的userevents, <br />
此时会显示一个使用者事件box； <br />
　　2.于eventname设定使用者事件名称例如:ue_checkkey,然后在eventID填入 <br />
pbm_dwnkey(或从Pasteevent选择),然后按OK； <br />
　　3.你可在datawindowcontrols的script中selectevent里发现多了一个使用者 <br />
事件 ue_checkkey,并且此事件会传递2个参数keycodekey,unsignedlongkeyflags； <br />
　　4.在script中可以如下填写： <br />
　　choose case key <br />
　　case KeyTab!//响应按Tab键 <br />
　　//writeyourcode <br />
　　case KeyEnter!／／响应按Enter键 <br />
　　／／writeyourcode <br />
　　case KeyEscape!／／响应按Esc键 <br />
　　／／writeyourcode <br />
　　end choose <br />
　　注意：(1)keycode是Enumeratedatatype，可在onlinehelp或browers中获得其属性； <br />
　　(2)你可以设定returnvalue:0或1。 <br />
　　如果是在DataWindow上,可参考以下的方式: <br />
　　在DataWindow宣告一userevent: <br />
　　(1)如ue_enter,将EventID参考至pbm_dwnprocessenter； <br />
　　(2)在ue_enter加入以下的程式码 <br />
　　send(handle(this),256,9,long(0,0)) <br />
　　return <br />
　　二、在MDI视窗内加入其他Controls，并使其在sheets视窗中正确显示 <br />
　　把MDIWindow的ClientArea打开(Resize)。ClientArea可视为一种Control，PB将 <br />
它的名字内定为MDI_1。 <br />
　　//Example／／m1,m2,r1,r2areallinteger. <br />
　　//movetheclientareatobeginat(m1,m2).mdi_1.Move(WorkspaceX()＋m1,WorkspaceY()＋m2) <br />
　 //Resizetheclientareabasedonthevalue(r1,r2)yougived.mdi_1.Resize(r1,r2) <br />
　　需要注意的是ClientArea打开後，区域内的Control会被盖掉。 <br />
　　三、PowerBuilder与CommPort的连接 <br />
　　1．使用可以控制CommPort的OCX， <br />
例如MicrosoftCommunicationsControl或pdqComm。 <br />
　　2．InitiatetheOCX。 <br />
　　//Script如下，ole_1为OCXName <br />
　　ole_1.object.CommPort=2 <br />
　　ole_1.object.Settings=&ldquo;9600,N,8,1&rdquo; <br />
　　ole_1.object.PortOpen=true <br />
　　ole_1.object.InputLen=0 <br />
　　3.GetData or PutData。 <br />
　　//GetData <br />
　　ole_1.object.input() <br />
　　//PutData <br />
　　ole_1.object.output=&lsquo;ATDT4125678&rsquo;＋char(13) <br />
　　四、在 grid中实现列标题覆盖多列 <br />
　　选中某列的标题title，点右键，选properties\position\layer， <br />
选中foreground。这时你可以改变标题的大小。同时禁止用户在运行程序时移动列的权利， <br />
在脚本中写入：dw_1.Modify(&ldquo;DataWindow.Grid.ColumnMove=No&rdquo;)&nbsp;&nbsp;</div>]]></description>
		</item>
		
			<item>
			<link>http://www.jb-accp/Blog1/article/160.htm</link>
			<title><![CDATA[DataWindow的数据缓冲区]]></title>
			<author>Nolan8@VIP.QQ.com(accp)</author>
			<category><![CDATA[学习资料]]></category>
			<pubDate>Fri,21 Nov 2008 20:02:35 +0800</pubDate>
			<guid>http://www.jb-accp/Blog1/default.asp?id=160</guid>
		<description><![CDATA[<div>在PowerBuilder中,DataWindow是用户前端用来存储、操纵数据的对象。在每一个DataWindow对象中有4个二维表作为数据缓冲区,用来存储查询到的数据。用户在DataWindow中对数据处理系统内部的操作实际上都是将数据在这几个缓冲区中进行的修改和移动,最后在用户提交数据库时,系统根据这四个缓冲区中的信息形成SQL的IN-SERT,Update,Delete等语句。这四个缓冲区是: <br />
<br />
PrimaryBuffer <br />
这个缓冲区是存放填充窗口中DataWindow控件中数据的,调用DataWindow的Retrieve()函数和InsertRow()函数可以将数据填入这个缓冲区中。当使用有关DataWindow删除和过滤函数时,相应记录将从这一缓冲区中删除。而在执行DataWindow的Update()函数时,PowerBuilder将查看这一缓冲区中的记录,以形成SQLInsert和Update语句。 <br />
<br />
DeleteBuffer <br />
这个缓冲区保存的是用DeleteRow()函数从PrimaryBuffer中删除的记录,执行Update()函数时,系统根据这一缓冲区的记录形成Delete语句。 <br />
<br />
FilterBuffer <br />
这个缓冲区存储的是从OriginalBuffer使用Filter()函数过滤到PrimaryBuffer中后剩余的记录。 <br />
<br />
originalBuffer <br />
这一缓冲区存储的是DataWindow最初执行retrieve()函数时得到的全部记录。当提交数据库时,根据PrimaryBuffer生成的Update语句和根据DeleteBuffer生成的Delete语句都要依据这一缓冲区来构造这些SQL语句中的Where子句。 <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;OriginalBuffer由PowerBuilder内部维护,Power-Builder所提供的任何函数都无法改变它的值,不过通过PowerBuilder所提供的GetItem&hellip;系列的函数可以读出DataWindow最初从数据库中查到的原始值。通过这些函数我们可以编程实现所谓的&quot;Undo&quot;功能,并且得到在使用乐观锁时形成提交数据库的Where子句。 <br />
如果您当前使用的DataWindow没有设置修改的权力,您将不能对Delete缓冲区和Original缓冲进行操作,而且当调用Update()时也将引起系统错误。 <br />
数据缓冲区的状态值 <br />
&nbsp;&nbsp;&nbsp;&nbsp;PrimaryBuffer和DeleteBuffer都有行级和列级的状态值,这个状态值是一个枚举类型。在提交时由该行的状态值来决定是否要产生SQL语句,其中PrimaryBuffer产生的是Insert和Update语句,而DeleteBuffer产生的是Delete语句。我们用GetItemStatus()函数和SetItemStatus()函数可以对这一状态值作操纵。这一枚举状态有以下四种: <br />
&middot;NotModified!&mdash;&mdash;&mdash;该行或行的值为查询所得,没有发生改变。 <br />
&middot;DataModified!&mdash;&mdash;&mdash;该行或列的值为查询所得,发生了改变。 <br />
&middot;New!&mdash;&mdash;&mdash;该行或列为一插入的新行,数据没有发生改变(数据为空或缺省值)。 <br />
&middot;NewModified!&mdash;&mdash;&mdash;该行或列为一插入的新行,数据发生改变。改变是通过用户键盘输入或调用了SetItem()函数。 <br />
让我们来看下面这一实例: <br />
我们有这样一张表,表中有三个字段,其中ITEM是主键。 <br />
ITEMCHAR(5); <br />
NAMECHAR(20); <br />
QUANTITYINT。 <br />
在Script中我们查询这张表的记录,得到以下这些信息存储了在Primary和OrigianalBuffer中,其中的行号是缓冲区加上的。!TB01175000.gif <br />
在窗口中,我们编程过滤掉数量为0的行,并且加上一个空行: <br />
dw_1.SetFilter(&quot;quantity=0&quot;) <br />
dw_1.Filter() <br />
dw_1.InsertRow() <br />
这时PrimaryBuffer的状态为:!TB01175001.gif <br />
在FilterBuffer中的记录为:!TB01175002.gif <br />
用户在新插入行中输入数据,删除了第3行数据,并修改了第2行数据。当他离开这个DataWindow时,Primary和Delete缓冲区的状态如下:!TB01175003.gif <br />
这时执行dw_1.update()函数,系统将基于这两个缓冲区生成SQL语句。!TB01175004.gif <br />
在PrimaryBuffer中,状态为NotModified和New!的行将被忽略而不产生SQL语句。状态为DataModified的行将产生Update语句,状态为NewModified的行将产生Insert语句,在Delete缓冲区中的行将产生Delete语句。 <br />
四个缓冲区在编程中的运用 <br />
某些DataWindow控件的函数有指定DataWindow缓冲区的功能。如果缺省,则表示Primary缓冲区。下列是可以指定缓冲区的函数: <br />
&middot;GetItemStatus() <br />
&middot;GetNextModified() <br />
&middot;GetUpdateStatus() <br />
&middot;SetItemStatus() <br />
此外还有GetItem&hellip;系列的函数,用以查询DataWindow中的值。这些函数有: <br />
&middot;GetItemDate() <br />
&middot;GetItemDataTime() <br />
&middot;GetItemDecimal() <br />
&middot;GetItemNumber() <br />
&middot;GetItemString() <br />
&middot;GetItemTime()&nbsp;</div>]]></description>
		</item>
		
			<item>
			<link>http://www.jb-accp/Blog1/article/159.htm</link>
			<title><![CDATA[Sybase for Unixware安装步骤]]></title>
			<author>Nolan8@VIP.QQ.com(accp)</author>
			<category><![CDATA[学习资料]]></category>
			<pubDate>Tue,18 Nov 2008 20:45:08 +0800</pubDate>
			<guid>http://www.jb-accp/Blog1/default.asp?id=159</guid>
		<description><![CDATA[<p><br />
&nbsp;</p>
<div>一、 Unixware&nbsp;7.1.1安装（CDROM安装） <br />
1、 从CDROM安装引导启动Unixware&nbsp;CD-1（CDROM必须是Slot1或Slot2的Master） <br />
2、 安装语言，选择Proceed&nbsp;with&nbsp;installation&nbsp;in&nbsp;English，回车继续 <br />
3、 Choose&nbsp;a&nbsp;zone&nbsp;for&nbsp;this&nbsp;system&nbsp;and&nbsp;press&nbsp;&lt;F10&gt;;，选择Americas(Latin-1)，F10继续 <br />
4、 Choose&nbsp;a&nbsp;Locale&nbsp;for&nbsp;this&nbsp;system&nbsp;and&nbsp;press&nbsp;&lt;F10&gt;;，选择C(English)&nbsp;，F10继续 <br />
5、 Keyboard，选择United&nbsp;States，F10继续 <br />
6、 输入License&nbsp;Number、License&nbsp;Code、License&nbsp;Data，F10继续 <br />
7、 提示插入HBA盘，将服务器的特殊设备驱动（如Raid、SCSI、网卡等，必须是Unixware的HBA格式软盘）插入A盘，选择Install&nbsp;HBA&nbsp;diskette，按F10装入驱动，重复此步骤直到所有的附加驱动装载完毕，选择Proceed&nbsp;with&nbsp;installation，F10继续 <br />
8、 DCU设置，选择Do&nbsp;not&nbsp;enter&nbsp;the&nbsp;DCU(auto-configure&nbsp;drivers)&nbsp;，F10继续 <br />
9、 System&nbsp;Node&nbsp;Name，在Name:后输入本服务器的主机名称（必须字母打头，长度3-63个字符），F10继续 <br />
10、 选择Install&nbsp;from&nbsp;CD-ROM，F10继续（如果此时仅出现Install&nbsp;from&nbsp;TCP&nbsp;network&nbsp;server、Install&nbsp;from&nbsp;SPX&nbsp;network&nbsp;server等，说明安装程序没有识别出CDROM，检查步骤7装载的CDROM驱动是否正确，并选择Cancel&nbsp;installation&nbsp;and&nbsp;shut&nbsp;down，重新启动后重复上述步骤，在步骤7的时候装入正确的CDROM驱动） <br />
11、 Disk&nbsp;Configuration，在Action处用F2选择Use&nbsp;whole&nbsp;disk&nbsp;for&nbsp;UNIX，指定所有硬盘空间用于Unixware，F10继续 <br />
12、 文件系统配置，选择Customize&nbsp;filesystem&nbsp;and&nbsp;slices，按以下表格修改Swap&nbsp;slice的大小： <br />
服务器物理内存（MB） Swap空间（MB） <br />
16 32 <br />
64 75 <br />
256 200 <br />
1024 430 <br />
4096 1330 <br />
8192 2530 <br />
在Filesystem&nbsp;and&nbsp;Raw&nbsp;Disk&nbsp;Slices表的Swap&nbsp;slice一行上，将Size的内容改为所需要的Swap空间尺寸（以MB为单位），F10继续 <br />
13、 磁盘配置，选择Use&nbsp;default&nbsp;disk&nbsp;options，F10继续 <br />
14、 Choose&nbsp;System&nbsp;Profile，选择Full&nbsp;(All&nbsp;Packages)&nbsp;,F10继续 <br />
15、 Select&nbsp;Network&nbsp;Adapter，如果屏幕已列出服务器所使用的网卡，选择Use&nbsp;network&nbsp;adapter&nbsp;list&nbsp;above，否则，选择Select&nbsp;from&nbsp;the&nbsp;full&nbsp;list&nbsp;of&nbsp;supported&nbsp;adapters，在随后的网卡列表中选择，F10继续 <br />
16、 TCP/IP配置，输入服务器IP地址，其余均可为空，F10继续 <br />
17、 IPX配置，按F8跳过 <br />
18、 NIS配置，按F8跳过 <br />
19、 输入当前的日期与时间，在Timezone上按F2选择Asia/Australasia，在后续屏幕上用PgDn翻到第二页，选择China，F10继续 <br />
20、 安全级配置，选择Traditional，F10继续 <br />
21、 System&nbsp;owner配置，System&nbsp;Owner&nbsp;name输入root，System&nbsp;Owner&nbsp;login&nbsp;name输入root，输入System&nbsp;Owner&nbsp;password，再次输入System&nbsp;Owner&nbsp;password，F10继续 <br />
22、 确定root密码，输入并确认root密码，F10继续 <br />
23、 有关License协议提示，选择Accept，F10继续 <br />
24、 系统接着提示将进行安装，此时可按F3将以前所有的配置存入软盘，以后重新安装时，在步骤3之前可按F3读入该配置，以节省安装回答选择时间 <br />
25、 系统安装完CD-1之后，将提示取出CDROM和软盘，并重新启动 <br />
26、 启动完成后，选择响应的鼠标类型，然后提示继续安装CD-2，在安装过程中，系统系统将提示插入步骤7所使用的HBA软盘。CD-3上是一些附加的应用程序，当CD-2安装完成后可跳过CD-3的安装 <br />
二、 Unixware&nbsp;7.1.1安装（软盘引导安装） <br />
1、 从Unixware&nbsp;7.1.1&nbsp;Boot&nbsp;Disk&nbsp;1引导系统 <br />
2、 安装语言，选择Proceed&nbsp;with&nbsp;installation&nbsp;in&nbsp;English，回车继续 <br />
3、 Disk&nbsp;1引导完成后，按系统提示，插入Unixware&nbsp;7.1.1&nbsp;Boot&nbsp;Disk&nbsp;2，继续安装 <br />
4、 Choose&nbsp;a&nbsp;zone&nbsp;for&nbsp;this&nbsp;system&nbsp;and&nbsp;press&nbsp;&lt;F10&gt;;，选择Americas(Latin-1)，F10继续 <br />
5、 Choose&nbsp;a&nbsp;Locale&nbsp;for&nbsp;this&nbsp;system&nbsp;and&nbsp;press&nbsp;&lt;F10&gt;;，选择C(English)&nbsp;，F10继续 <br />
6、 Keyboard，选择United&nbsp;States，F10继续 <br />
7、 输入License&nbsp;Number、License&nbsp;Code、License&nbsp;Data，F10继续 <br />
8、 提示插入HBA盘，此时必须插入Unixware自带的默认HBA软盘，并选择Install&nbsp;HBA&nbsp;diskette，按F10装入，否则后继操作将无法继续 <br />
9、 以后的安装步骤从CDROM安装的步骤7开始 <br />
三、 Sybase安装前准备 <br />
1、 用SCO&nbsp;Admin&rarr;Hardware&rarr;Video&nbsp;Manager将屏幕分辨率调整到1024x768 <br />
2、 通过控制面版的字体设置将屏幕字体调整为3号 <br />
3、 用SCO&nbsp;Admin&rarr;Account&nbsp;Manager加入一个sybase用户组 <br />
4、 用SCO&nbsp;Admin&rarr;Account&nbsp;Manager加入一个sybase用户，默认home&nbsp;directory为/home/sybase，login&nbsp;group为sybase <br />
5、 用sybase用户登录 <br />
6、 通过控制面版的字体设置将屏幕字体调整为3号 <br />
7、 用root登录 <br />
8、 设置sybase用户登录选项： <br />
编辑并修改&nbsp;/home/sybase/.env，增加两行： <br />
SYBASE&nbsp;/sybase <br />
DSQUERY&nbsp;sybserver （其中sybserver代表SYBASE服务器名字，需要按实际情况修改，一般情况下SYBASE服务器名字与服务器主机名字相同） <br />
编辑并修改&nbsp;/home/sybase/.dtprofile，将最后一行内容之前的#号去掉： <br />
#&nbsp;DTSOURCEPROFILE=true （将此行之前的#号去掉） <br />
编辑并修改&nbsp;/home/sybase/.profile，在PATH=$PATH&hellip;&hellip;行最后增加以下内容： <br />
:$SYBASE:$SYBASE/install:$SYBASE/bin，修改后该行内容可能为： <br />
PATH=$PATH:/usr/sbin:/usr/java/bin:.:$SYBASE:$SYBASE/install:$SYBASE/bin <br />
并将该行以及该行之后的EXPORT&nbsp;PATH行移动到文件最后 <br />
9、 设置root用户登录选项： <br />
编辑并修改&nbsp;/.dtprofile，是其最后几行的内容如下所示： <br />
#&nbsp;DTSOURCEPROFILE=true <br />
SYBASE=/sybase <br />
DSQUERY=sybserver （其中sybserver代表SYBASE服务器名字，需要按实际情况修改，一般情况下SYBASE服务器名字与服务器主机名字相同） <br />
PATH=$PATH:$SYBASE:$SYBASE/install:$SYBASE/bin <br />
export&nbsp;SYBASE&nbsp;DSQUERY&nbsp;PATH <br />
10、 建立SYBASE目录 <br />
#cd&nbsp;/ <br />
#mkdir&nbsp;/sybase <br />
#chown&nbsp;sybase&nbsp;/sybase <br />
#chgrp&nbsp;sybase&nbsp;/sybase <br />
11、 建立SYBASE安装目录（如果直接从CDROM安装SYBASE，可跳过此步骤） <br />
#cd&nbsp;/ <br />
#mkdir&nbsp;/sybsetup <br />
#chown&nbsp;sybase&nbsp;/sybsetup <br />
#chgrp&nbsp;sybase&nbsp;/sybsetup <br />
以下步骤将使root具有FTP访问权限： <br />
a、 在SCO&nbsp;admin&rarr;Networking&rarr;FTP&nbsp;Server&nbsp;Manager中，选择View/Denied&nbsp;users，在列表中单击root行，选择Edit/Delete，删除该行 <br />
b、 编辑并修改&nbsp;/etc/shells，将其中&nbsp;/sbin/sh&nbsp;一行前的#号去掉 <br />
在后台PC上用FTP登录服务器（用户为sybase），并将SYBASE安装盘所有文件及目录上传到&nbsp;/sybsetup目录 <br />
执行以下命令改变文件属性 <br />
#cd&nbsp;/sybsetup <br />
#chmod&nbsp;777&nbsp;sybsetup <br />
#chmod&nbsp;777&nbsp;sybload <br />
12、 建立SYBASE数据文件目录（以后SYBASE系统内数据设备文件均存放在此目录下） <br />
#cd&nbsp;/ <br />
#mkdir&nbsp;/sybdata <br />
#chown&nbsp;sybase&nbsp;/sybdata <br />
#chgrp&nbsp;sybase&nbsp;/sybdata <br />
13、 改变系统文件属性 <br />
#cd&nbsp;/dev <br />
#chown&nbsp;sybase&nbsp;async <br />
#chgrp&nbsp;sybase&nbsp;async <br />
14、 系统参数调整，编辑并修改&nbsp;/etc/conf/cf.d/stune，增加以下内容： <br />
SHMMNI 100 <br />
SHMSEG 15 <br />
SHMMAX 256000000 （该值为Unixware最大共享内存尺寸，以字节为单位，在SYBASE中所设置的&ldquo;Total&nbsp;Memory&rdquo;的值必须比该值略小，因此该数值一般为系统物理内存的70%~80%） <br />
SHMALL 2048 <br />
NPROC 500 <br />
ARG_MAX 51200 <br />
SFNOLIM 400 <br />
SFSZLIM 0x7FFFFFFF <br />
HFSZLIM 0x7FFFFFFF <br />
SDATLIM 0x7FFFFFFF <br />
HDATLIM 0x7FFFFFFF <br />
SCORLIM 0x7FFFFFFF <br />
HCORLIM 0x7FFFFFFF <br />
SVMMLIM 0x7FFFFFFF <br />
HVMMLIM 0x7FFFFFFF <br />
SSTKLIM 0x7FFFFFFF <br />
HSTKLIM 0x7FFFFFFF <br />
15、 重建内核 <br />
#/etc/conf/bin/idbuild <br />
16、 重新启动系统 <br />
#cd&nbsp;/ <br />
#shutdown&nbsp;&ndash;y&nbsp;&ndash;g0&nbsp;&ndash;i6 <br />
四、 SYBASE安装 <br />
1、 如果通过FTP已完成SYBASE安装盘的上传，可直接跳到步骤4 <br />
2、 用root登录 <br />
3、 建立CDROM映射（执行命令前必须先放入光盘） <br />
#mount&nbsp;/dev/cd0&nbsp;/sybsetup <br />
4、 用sybase登录 <br />
5、 执行安装 <br />
%cd&nbsp;/sybsetup <br />
%sybsetup <br />
6、 检查SYBASE&nbsp;Directory下输入行内是否为&nbsp;/sybase，如果不是，检查上述步骤关于环境变量SYBASE=/sybase的设置是否正确 <br />
7、 选择Unload&nbsp;SYBASE&nbsp;Products&nbsp;from&nbsp;CD-ROM&nbsp;or&nbsp;tape <br />
8、 检查SYBASE安装目录是否为&nbsp;/sybase，继续 <br />
9、 选择Device&nbsp;Media为CDROM，并输入SYBASE安装文件为： <br />
/sybsetup/sybimage <br />
Installation&nbsp;Source&nbsp;Machine选择为Local，继续 <br />
10、 选择安装产品为11.9.2&nbsp;Adaptive&nbsp;Server&nbsp;Enterprise，继续 <br />
11、 安装完成后，回到sybsetup主窗口 <br />
12、 选择Build&nbsp;New&nbsp;Servers <br />
13、 选择Adaptive&nbsp;Server以及Backup&nbsp;Server，注意其名字默认为主机名称，一般情况下不要修改 <br />
14、 按以下内容输入Adaptive&nbsp;Server安装选项，然后继续 <br />
Master&nbsp;Device&nbsp;Path:&nbsp;/sybdata/master.dat <br />
Sybsystemprocs&nbsp;Device&nbsp;Path:&nbsp;/sybdata/systemprocs.dat <br />
Port&nbsp;number:&nbsp;5000 <br />
15、 按以下内容输入Backup&nbsp;Server安装选项，然后按Build&nbsp;Server继续 <br />
Port&nbsp;number:&nbsp;5001 <br />
16、 安装完成后，回到sybsetup主窗口 <br />
17、 选择Localize&nbsp;Adaptive&nbsp;Server，并选择Adaptive&nbsp;Server名称，按OK继续 <br />
18、 输入sa密码（默认为空），继续 <br />
19、 选择安装语言为Us&nbsp;English，字符集为Code&nbsp;Page&nbsp;850，排序方式为Binary&nbsp;Sort&nbsp;Order&nbsp;for&nbsp;Code&nbsp;Page&nbsp;850&nbsp;(cp850) <br />
20、 编辑并修改/sybase/SYBSERVER.cfg（其中SYBSERVER为SYBASE服务器名称） <br />
total&nbsp;memory&nbsp;=&nbsp;xxxxx (设置SYBASE可用内存，2KB单位，通常设为物理内存的50%~60%) <br />
enable&nbsp;cis&nbsp;=&nbsp;1 <br />
max&nbsp;cis&nbsp;remote&nbsp;connections&nbsp;=&nbsp;0 <br />
number&nbsp;of&nbsp;locks&nbsp;=&nbsp;20000 <br />
default&nbsp;network&nbsp;packet&nbsp;size&nbsp;=&nbsp;2048 <br />
number&nbsp;of&nbsp;user&nbsp;connections&nbsp;=&nbsp;100 <br />
max&nbsp;network&nbsp;packet&nbsp;size&nbsp;=&nbsp;2048 <br />
cpu&nbsp;grace&nbsp;time&nbsp;=&nbsp;500 <br />
max&nbsp;network&nbsp;listerns&nbsp;=&nbsp;DEFAULT <br />
number&nbsp;of&nbsp;open&nbsp;indexes&nbsp;=&nbsp;2000 <br />
number&nbsp;of&nbsp;open&nbsp;objects&nbsp;=&nbsp;1000 <br />
21、 停止并重新启动sybase服务器 <br />
22、 用isql验证登录 <br />
23、 用showserver显示Backup&nbsp;Server的名字，显示为&hellip;&hellip;/sybase/bin/backupserver&nbsp;&ndash;Sxxxxx_back，其中的xxxxx_back即为Backup&nbsp;Server的名字 <br />
24、 启动isql，执行以下命令 <br />
sp_configure&nbsp;&lsquo;allow&nbsp;updates&nbsp;to&nbsp;system&nbsp;tables&rsquo;,1 <br />
go <br />
checkpoint <br />
go <br />
use&nbsp;master <br />
go <br />
update&nbsp;sysservers&nbsp;set&nbsp;srvnetname=&rsquo;xxxxx_back&rsquo;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where&nbsp;srvnetname=&rsquo;SYB_BACKUP&rsquo; <br />
go <br />
sp_configure&nbsp;&lsquo;allow&nbsp;updates&nbsp;to&nbsp;system&nbsp;tables&rsquo;,0 <br />
go <br />
checkpoint <br />
go <br />
25、 如果配有磁带机，首先检查/dev/rmt目录是否存在，如果不存在需要安装SCSI驱动 <br />
26、 启动isql，执行以下命令配置磁带机并验证 <br />
sp_addumpdevice&nbsp;&ldquo;tape&rdquo;,&nbsp;tapedev,&nbsp;&ldquo;/dev/rmt/ntape1&rdquo;,&nbsp;x <br />
(其中x为单盘磁带容量，M为单位，比实际容量略小一些) <br />
go <br />
dump&nbsp;database&nbsp;master&nbsp;to&nbsp;tapedev&nbsp;with&nbsp;init <br />
go<br />
&nbsp;</div>]]></description>
		</item>
		
			<item>
			<link>http://www.jb-accp/Blog1/article/158.htm</link>
			<title><![CDATA[第3 章图像与超链接]]></title>
			<author>Nolan8@VIP.QQ.com(accp)</author>
			<category><![CDATA[学习资料]]></category>
			<pubDate>Sat,15 Nov 2008 20:04:29 +0800</pubDate>
			<guid>http://www.jb-accp/Blog1/default.asp?id=158</guid>
		<description><![CDATA[<div align="left">
<p>3.1 Web页图像基础</p>
<p>3.1.1 位图与矢量图</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;位图图形由排列成网格的称为像素的点组成，如果把图像放大到一点程度会看到像马赛克那样拼合在一起形成的图像。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;矢量图形使用称为矢量的线条和曲线描述图像，它是用数学信息来描述图像的。</p>
<p>3.1.2 Web页图像格式</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;虽然有很多计算机图像格式，但由于受网络带宽和浏览器的限制，在Web上常用的图像格式有以下三种：GIF、JPEG和PNG，它们都是标准的位图格式。</p>
<p>3.1.2.1 GIF格式</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;GIF格式（Graphic Interchange Format，图形交换格式）采用图像的无损压缩处理，是目前在Web上应用最广泛的图像格式之一。GIF格式具有以下特点：</p>
<ul>
    <li>无损压缩</li>
    <li>最多 256 色</li>
    <li>能够使用透明色</li>
    <li>交错式 Gif（interlaced gif）</li>
    <li>动画 Gif</li>
</ul>
<p>3.1.2.2 JPEG格式</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;JPEG格式（Joint PhotoGraphics Exper，联合图形专家组图片格式）使用有损压缩来减小图片文件的大小，因此用户将看到随着文件的减小，图片的质量也降低了。JPEG格式具有以下特点：</p>
<ul>
    <li>有损压缩</li>
    <li>没有颜色限制</li>
    <li>可以控制压缩比</li>
    <li>不支持透明色</li>
    <li>不支持动画</li>
</ul>
<p>3.1.2.3 PNG格式</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;PNG格式（Portable Networks Graphics，可移植网络图形格式）是近年来新出现的一种图像格式，它适于任何类型，任何颜色深度的图片。该格式采用无损压缩来减小图片文件的大小。PNG格式具有以下特点：</p>
<ul>
    <li>无损压缩</li>
    <li>没有颜色限制</li>
    <li>支持透明色，且透明度可调（0%-100%）</li>
</ul>
<p>3.1.3 使用网页图像的要点</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;在网页上使用图片，通常应注意以下三点：</p>
<ul>
    <li>图像文件的大小</li>
    <li>网页中图片的数量和质量</li>
    <li>合理的使用动画</li>
</ul>
<p>3.2 图像处理的基本操作(略）</p>
<p>3.3 图像标记符IMG</p>
<p>3.3.1 插入图像</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;在HTML中，使用IMG标记符可以在网页中插入图像，它有两个基本属性：</p>
<ul>
    <li>src 表示要插入图像文件的URL</li>
    <li>alt 表示图像的简单文本说明</li>
</ul>
<p>3.3.2 设置图像属性</p>
<p>3.3.2.1 指定图像的宽和高</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;IMG标记符中的width和height属性可以指定图像的宽度和高度，其单位可以是像素，也可以是百分数，如果用百分数，表示图像占当前浏览器窗口大小的比例。</p>
<p>3.3.2.2 图像的边框</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;使用IMG标记符的border属性，可以给图像添加边框效果，边框的取值是像素数。</p>
<p>3.3.2.3 设置图像周围的空白</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;在IMG标记符内使用属性hspace和vspace设置图像周围的空白，其中hspace表示水平方向的空白，vspace表示垂直方向的空白，它们的取值都是像素。</p>
<p>3.3.2.4 图像的对齐</p>
<p>(1) 图像在页面中的对齐</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;设置图像在页面中的对齐，可以使用DIV或P标记符将IMG标记符括起开，然后使用DIV或P标记符的align属性。</p>
<p>(2) 图像与周围内容的垂直对齐</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;使用IMG标记符的align属性，可以控制图像与周围内容的垂直对齐。此时，align属性的值可以是：</p>
<ul>
    <li>top 表示图像的顶部与周围内容的顶部对齐</li>
    <li>middle 表示图像的中央与周围内容对齐</li>
    <li>bottom 表示图像的底部与周围内容的底部对齐，此值为默认值</li>
</ul>
<p>(3) 图文混排时的图像对齐</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果要在图像的左、右一环绕文本，也是使用IMG标记符的align属性，此时的align的取值是：</p>
<ul>
    <li>left 表示图像居左，文本在图像的右侧</li>
    <li>right 表示图像居右，文本在图像的左侧</li>
</ul>
<p>3.4 创建超链接</p>
<p>3.4.1 相对地址与绝对地址</p>
<p>3.4.1.1 什么是URL</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;URL（Universal Resource Locator，统一资源定位器）是表示Web上资源的一种方法，通常可以理解为资源的地址，一个URL，通常包括三部分：一个协议代码、一个主机地址，以及资源在主机上的路径和文件名。</p>
<p>3.4.1.2 绝对URL与相对URL</p>
<p>(1) 绝对URL</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;绝对URL是指Internet上资源的完整地址，其形式通常如下：</p>
<p align="center">协议://主机名[/[路径/]资源文件名]</p>
<p>例如：</p>
<p align="center">http://www.aust.edu.cn</p>
<p align="center">ftp://ftp.aust.edu.cn/pub/j2sdk.zip</p>
<p>(2) 相对URL</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;相对URL是指Internet上资源相对于当前页面的地址，它包含从当前页面指向目标页面的路径。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;当使用相对URL时，可以使用与DOS文件目录类似的特殊符号：点（.）和双点（..），分别表示当前目录和上一级目录。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;相对URL本身并不能唯一资源，但浏览器会根据当前页面的绝对URL正确理解相对URL。</p>
<p>3.4.2 页面链接</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;创建超链接使用A标记符，它的最基本属性是href用于指定链接的目标。其语法格式如下：</p>
<p align="center">&lt;a href=目标对象URL&gt;超链接&lt;/a&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;其中：在&lt;a&gt;与&lt;/a&gt;之间可以用任何可单击的对象作为超链接的源，例如：文字或图像。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果href属性指定的文件格式是浏览器所能识别的格式，那么单击超链接时将会直接显示其内容，若浏览器不能识别，那么那么浏览器将下载所链接的对象。</p>
<p>3.4.3 锚点链接</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;当页面较长时，就需要在页面内部进行跳转，要实现这一功能，首先就为页面中需要跳转到的位置设立标志并命名，即建立&ldquo;锚点&rdquo;。这通过A标记符的name属性来实现，语法格式如下：</p>
<p align="center">&lt;a name=标志名&gt;[...]&lt;/a&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;对于锚点的链接，就将href的值指定为符号#后标志名（锚点名）。如果将href的值指定为一个单独的#号，则表示空链接，不做任何跳转。</p>
<p>3.4.4 电子邮件链接</p>
<p>&nbsp;&nbsp;&nbsp;当浏览网页的用户单击了电子邮件的超链接后，系统将自动启动邮件客户程序，并将邮件地址填写到&ldquo;收件人&rdquo;栏中，用户可能编辑并发该邮件。电子邮件超链接的格式如下：</p>
<p align="center">&lt;a href=&quot;mailto:收件人邮箱&quot;&gt;联系&lt;/a&gt;</p>
<p>3.5 使用图像映射</p>
<p>3.5.1 什么是图像映射</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;所谓图像映射是指在一幅图中定义若干个区域，每个区域中指定一个不同的超链接，当单击不同的区域时便可以跳转到相应的目标页面。</p>
<p>3.5.2 创建图像映射</p>
<p>3.5.2.1 定义映射区域</p>
<p>&nbsp;&nbsp;&nbsp;定义映射区域使用MAP标记符，在&lt;MAP&gt;和&lt;/MAP&gt;之间添加映射区域。添加映射区域使用AREA标记符。该标记符具有三个基本属性：</p>
<ul>
    <li>href 标识出目标的URL</li>
    <li>shape 说明映射区域的形状。取值可是：
    <ul>
        <li>rect 矩形</li>
        <li>circle 圆形</li>
        <li>poly 多边形</li>
        <li>default 整个图像区域</li>
    </ul>
    </li>
    <li>coords 用于标识映射区域的边界。</li>
</ul>
<p>3.5.2.1 对映射区域进行引用</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;标记了映射区域之后，就可以通过在IMG标记符中使用usermap属性来引用相应的映射信息。</p>
<p>一个完整的图像映射语法如下：</p>
<table width="94%" align="center">
    <tbody>
        <tr>
            <td>
            <p><font face="Arial, Helvetica, sans-serif" size="5">&lt;map name=&quot;mymap&quot;&gt;</font></p>
            <p><font face="Arial, Helvetica, sans-serif" size="5">&nbsp;&nbsp;&lt;area href=URL1 shape=rect coords=&quot;x1,y1,x2,y2&quot;&gt;</font></p>
            <p><font face="Arial, Helvetica, sans-serif" size="5">&nbsp;&nbsp;&lt;area href=URL2 shape=circle coords=&quot;x,y,r&quot;&gt;</font></p>
            <p><font face="Arial, Helvetica, sans-serif" size="4">&nbsp;&nbsp;&lt;area href=URL3 shape=poly coords=&quot;x1,y1,x2,y2,...,xn,yn&quot;&gt;</font></p>
            <p><font face="Arial, Helvetica, sans-serif" size="5">&lt;/map&gt;</font></p>
            <p><font face="Arial, Helvetica, sans-serif" size="5">&lt;img src=image_URL usemap=#mymap&gt;</font></p>
            </td>
        </tr>
    </tbody>
</table>
<p>注意：map标记符中，name属性的取值必须与img标记符中，usemap属性的取值相同，只是usemap属性的值前面多了一个# 。</p>
</div>]]></description>
		</item>
		
			<item>
			<link>http://www.jb-accp/Blog1/article/157.htm</link>
			<title><![CDATA[北大青鸟专家谈兴趣与就业]]></title>
			<author>Nolan8@VIP.QQ.com(accp)</author>
			<category><![CDATA[学习资料]]></category>
			<pubDate>Thu,13 Nov 2008 18:29:08 +0800</pubDate>
			<guid>http://www.jb-accp/Blog1/default.asp?id=157</guid>
		<description><![CDATA[<p>&nbsp;</p>
<p><br />
&nbsp;&nbsp;&nbsp; 读书为了一张学历的年代一去不复返了。如果我们的家长，在小孩挑选学校时，还是更多的是考虑去拿张文凭，将遗害非浅。因为，为了一张本科学历或者大专学历而去读书，耽误的不仅仅是4年或者3年，而是别人一步先，步步先了。<br />
　　<br />
　　最近，许多家长，小孩考了300-400分，拼命的花钱、找关系，希望能挤个什么本科院校，拿个本科文凭。或者干脆复读，明年再考。这还是八十年代的读大学的思想在作怪。在八九十年代，读大学是农村小孩跳出农门的唯一出路，也是&ldquo;学而优则仕&rdquo;的唯一出路。到了今天，高校扩招，大学教育从精英教育变成了普通教育，大学毕业生就业难已演变成新的社会问题，让我们明白，一个人能否成功，跟上不上大学没有很多必然联系。因此，家长在帮小孩挑选学校、挑选专业时，已经更多的是考虑小孩的兴趣与学校就业。<br />
　　<br />
　　读书为了就业，这已经是勿容质疑的。就业代表了很多的隐形的、我们平时见不到的学校的一些情况，它是整个读书过程的最终结果。学习过程我们可能了解不到，但我们却可以根据结果来判断一个学校的教学质量、师资、课程体系、学生的应用能力、与社会需求的差距等众多方面。并且，就业要考虑的是不是从事的本专业的工作、找工作时能力是不是符合企业的要求。比如学计算机的毕业了从事不了软件开发或者网络方面的工作，而是去从事销售工作，那么几年大学的学习就没有为自己的就业带来直接的影响。这样虽然高校将学生的就业计算到学校的就业率，但实际上不是真正的就业。<br />
　　<br />
　　学生能不能就业，实际上取决于几个方面：一是学习的知识、技能是否符合社会的需要，学习的内容是否与企业是直接接轨的。高校（包括高职）最大的问题是重视基础教育，轻视应用能力的培养。如高校计算机专业本科，前二年时间主要是学习一些与计算机专业没有什么关系的课程，到了大三，学习一些基础专业课程，大四又面临找工作了，四年时间，真正的专业课时就是500来节课。因此造成一种情况，大批的单位招不到能够从事软件开发的人才，而高校的计算机专业又是国内最难找工作的几个专业之一。<br />
　　<br />
　　学生能否就业二是取决于社会有没有这种需求。学的东西跟社会的需求脱节，就从事不了本专业的工作。我国很多高校的专业设置与社会需求是脱节的，也就是说很多专业，是不知道要培养哪个岗位的人才的。网上很多文章在罗列我国最不好就业的十大专业，实际上就是专业设置的目标岗位是不明确的。如果去读这样的专业，读个大学又有什么用？<br />
　　<br />
　　能否就业的第三个因素就是学生的职业素质能否符合要求。企业要求员工具有什么心态、要养成什么习惯、做事按照什么原则，这些道理的懂得才是最重要的。技术、能力符合要求了，职业素质不符合要求，虽然找到了工作，但得不到发展。<br />
　　<br />
　　人生最大的幸福就是一生中能从事自己感兴趣的工作。以前可能没有这样的机会，因为我们没有选择。但现在的小孩有这样的机会。家长不能扼杀小孩的这种机会。毕竟今后的人生之路要他自己走。复读也好、读大学也好，还是学习专业技术，都是为了就业。很多专业教育机构的就业是很多大学无法比拟。很多学生可以走一条专业的成才之路。毕竟，兴趣才是最重要的、就业才是最重要的。<br />
　　<br />
　　最近很多学生纷纷报读了北大青鸟学校的ACCP软件工程师专业，学生对这个专业的学习表现出了极大的热情，显然，他们对未来更有把握。</p>
<p>&nbsp;&nbsp;&nbsp; 北大青鸟北大公学现开设高考特招班,对计算机行业感兴趣，希望进入IT行业发展的高考落榜生,在职、在读和待业者均可报名,<br />
报名方式：持本人身份证及学历证书复印件各一张、1寸蓝底彩照2张。直接来我校报名。<br />
报名时间：每天9:00-18:00(周六、日不休息)　<br />
电话：010-69258948&nbsp; 传真：010-69258948<br />
网址：<a href="http://www.jb-accp.com">http://www.jb-accp.com</a> <br />
地址：北京市大兴区帝园商城对面，北大青鸟楼3层</p>]]></description>
		</item>
		
			<item>
			<link>http://www.jb-accp/Blog1/article/156.htm</link>
			<title><![CDATA[ACCP软件工程师课程专业培养国际化的软件工程师]]></title>
			<author>Nolan8@VIP.QQ.com(accp)</author>
			<category><![CDATA[学习资料]]></category>
			<pubDate>Tue,11 Nov 2008 20:29:04 +0800</pubDate>
			<guid>http://www.jb-accp/Blog1/default.asp?id=156</guid>
		<description><![CDATA[<p>&nbsp;</p>
<p>ACCP软件工程师课程专业培养国际化的软件工程师: <br />
学校网址：<a href="http://www.jb-accp.com">http://www.jb-accp.com</a><br />
招生电话：010-69258948<br />
主要课程：JAVA 、J2EE、.NET 、SQL SERVER 、ORACLE、XML &hellip;<br />
招生对象：年满18周岁，高中以上学历，有志于在IT行业发展的人士。<br />
结业证书：ACCP国际认证、国家职业技能认证OSTA,北大资源大专证书。 <br />
毕业去向：珠三角地区1000余家知名软件企业，试用期薪资在3000-8000之间<br />
从事岗位：JAVA工程师/.NET工程师/系统工程师/数据库工程师/网站开发工程师 <br />
&nbsp;&nbsp;&nbsp; <br />
您将拥有的学习资源：<br />
&nbsp;&nbsp; 教学含教室、机房、实验室等，具备良好舒适的学习环境 <br />
您将得到的就业保障：<br />
&nbsp;&nbsp;&nbsp; 北京北大青鸟最资深的就业中心（已运作5年）全力为你服务，多名资深就业指导老师长期开展企业人才合作工作，组织现场招聘、人才输送；并与教学质量部共同开展COT授课、学员在校实习、学员模拟面试、项目实战、学员职业导向分析等工作。毕业学员就业率高达98%。 <br />
您将受到的教育训练：<br />
&nbsp;&nbsp;&nbsp; 北大公学的教学规范手册超过600页！&ldquo;打造精品教育&rdquo;是北大公学的办学理念;&ldquo;把细节做到极致就是精品、把标准落到实处就是辉煌&rdquo;是北大公学的教学准则。标准化的教学培养模式+知识工程师型的教学师资团队，充分保障教学质量；以企业用人需求为导向，在专业技能之外，对学员进行企业员工式的管理训练，使学员综合素质全面提升，成为抢手的IT职业人才，从而实现自己的梦想!</p>]]></description>
		</item>
		
			<item>
			<link>http://www.jb-accp/Blog1/article/155.htm</link>
			<title><![CDATA[北京北大青鸟总部集团详细介绍]]></title>
			<author>Nolan8@VIP.QQ.com(accp)</author>
			<category><![CDATA[学习资料]]></category>
			<pubDate>Sat,08 Nov 2008 18:30:52 +0800</pubDate>
			<guid>http://www.jb-accp/Blog1/default.asp?id=155</guid>
		<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 北京阿博泰克北大青鸟信息技术有限公司(简称&ldquo;北大青鸟APTECH&rdquo;)由北大青鸟总部集团与印度阿博泰克公司(APTECH)合资成立于2000年1月，是一家专业的IT职业教育公司。北大青鸟总部现有员工400多人，全体系员工7000余人，在全国80多座城市建立了200余家培训中心，累计培训学员超过30万人次，是我国最大的IT职业教育机构和最大的IT职业教育产品提供商。</p>
<p>&nbsp;&nbsp; &nbsp;&nbsp; 北大青鸟APTECH拥有一支具有国际水平的培训课程研发团队。该团队由我国著名计算机教育专家谭浩强教授担任首席学术顾问，来自北京大学、清华大学、IBM公司、微软公司、Oracle公司等领域的知名学者和专家担任技术指导，已经成功开发出多款IT培训课程体系，包括ACCP（软件工程师培训）、BENET（网络工程师培训）、BTEST（软件测试工程师）和ACCP启蒙星等四款产品。这些产品在前瞻性、先进性和实用性等方面处于国内领先地位。</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp; 北大青鸟总部通过特许经营业务模式，为加盟伙伴提供先进的经营管理方法、优质的专业化服务、系统规范的培训与支持，以及持续稳定的投资回报。在赛迪顾问（CCID）的年度分析报告中，北大青鸟APTECH已经连续五年在营业额、市场占有率、增长率三项指标评比中位居行业第一，已成为国内规模最大、规范度最高的IT职业教育机构。</p>
<p>&nbsp;&nbsp; 北大青鸟APTECH还与众多国内外知名企业建立了战略伙伴关系，包括与国家劳动与社会保障部职业技能鉴定中心公司共同打造培训平台，对北大青鸟APTECH的培训学员进行联合认证，同时，与MOTOROLA、西门子、金山、方正、用友等国内外3000多家用人企业签署了人才合作计划。</p>
<p>&nbsp;&nbsp; 北大青鸟APTECH优异的业绩也赢得了社会的认可，先后获得了&ldquo;中国IT公众认知企业金奖&rdquo;、&ldquo;本土最具知名度认证奖&rdquo;、&ldquo;最佳就业认同奖&rdquo;、&ldquo;质量放心用户满意双优品牌&rdquo;等数十个奖项。</p>
<p>&nbsp;<br />
&nbsp;&nbsp;&nbsp; 以&ldquo;大型软件开发环境&mdash;&mdash;青鸟系统&rdquo;享誉中国软件业的北大青鸟，自1994年成立以来，在集团董事长&mdash;&mdash;著名计算机软件科学家、中科院院士杨芙清教授和总顾问著名微电子学科学家王阳元院士的领导下，紧密依托北京大学雄厚的技术资源和人才优势，在&ldquo;青鸟工程&rdquo;的基础上，面向行业，不断拓展，积极推动科研成果向市场产品的转化，逐步形成了青鸟基础软件产品、青鸟应用系统及软件开发平台、青鸟嵌入式系统三大产品系列，构筑了以软件和微电子技术为核心的产品体系。<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 　　目前，北大青鸟已形成了集软件产品（Software Product）、芯片产品（Chips Product）、信息系统（Information System）、嵌入式系统（Embedded System）、网络服务（Networking Service）、通讯系统（Communication Product）、IT教育（Education of IT）于一体的青鸟&ldquo;SCIENCE&rdquo;技术体系，构建了以软件、微电子芯片及IT教育产品为中坚的产业布局，资产规模已经超过85个亿。<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &mdash;-北大青鸟集团的技术发展方向和市场方向，可以简单的用IT SCIENCE（IT 科学）来概括：<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; Software Product(软件产品） 北大青鸟软件有限公司<br />
&nbsp;&nbsp;&nbsp; Chips Product(芯片产品） 北大青鸟环宇有限公司（香港创业板上市公司）<br />
&nbsp;&nbsp;&nbsp; Information System(信息系统） 北京天桥北大青鸟科技股份有限公司（A股上市公司）<br />
&nbsp;&nbsp;&nbsp; Embedded System(嵌入式系统） 北大青鸟信息工程有限责任公司<br />
&nbsp;&nbsp;&nbsp; Networking Service (网络服务） 北大青鸟新世界网络技术有限公司<br />
&nbsp;&nbsp;&nbsp; Communication Product(通讯系统） 北大青鸟天目公司<br />
&nbsp;&nbsp;&nbsp; Education of IT(IT教育） 北大青鸟APTECH计算机教育<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &mdash;-为适应日益增长的计算机教育发展的需要，拓展我国计算机职业教育市场，开发信息技术产业人力资源，依托北京大学强大的师资力量与社会影响力，凭借集团雄厚的技术力量与资金支持，在科技部、教育部、信息产业部的大力支持下，与世界上规模最大的专业计算机教育公司&ndash;APTECH公司强强联合，在吸收其先进的管理教学经验，系统完善的教材编排，灵活机动、以人为本的课程设置的基础上，斥巨资成立北大青鸟APTECH计算机教育公司，采取特许经营的先进管理模式，与各学校合作，全面进军计算机教育领域。<br />
2007年4月 北大青鸟APTECH荣获中国连锁经营协会&ldquo;2006－2007年度特许经营优秀品牌&rdquo;、&ldquo;2006－2007年度中国服务业十大优秀特许加盟品牌&rdquo;，同时荣获中华人民共和国和中国连锁经营协会联合发布的&ldquo;2006年度中国连锁经营百强&rdquo;称号<br />
2007年3月 国际权威调研公司IDC（国际数据公司）发布的《2006年度中国IT职业教育培训市场调研报告》中，北大青鸟APTECH继续蝉联中国IT职业市场占用率冠军，市场份额高达32.1%<br />
2006年6月 北大青鸟APTECH获&ldquo;最具影响力培训机构&rdquo;殊荣<br />
2005年6月,获得&ldquo;质量放心用户满意双优品牌&rdquo;称号（中国保护消费者基金会）<br />
2005年2月,北大青鸟APTECH公司在CCID主办的&rdquo;2005中国IT市场年会&rdquo;获&rdquo;2004年度IT职业教育和培训成功企业&rdquo;称号;全体系收入,市场份额和增长率行业第一.<br />
2004年12月,获&rdquo;04年诚信经营示范单位&rdquo;(保护消费者基金会)<br />
2004年3月，获&ldquo;质量放心用户满意双优品牌&rdquo;奖牌及证书<br />
2004年2月,获&ldquo;2003年中国IT教育与培训服务市场年度成功企业&rdquo;称号；全体系收入、市场份额和增长率行业第一。(CCID主办的&ldquo;2004中国IT市场年会&rdquo;)<br />
2004年2月,获&lsquo;外贸企业信用体系指定示范单位&rdquo;称号.(商务部颁发)<br />
2004年1月,北大青鸟APTECH总经理杨明入选《程序员》杂志评选的&ldquo;影响中国软件业的20人&rdquo;。<br />
2003年12月 北大青鸟APTECH总经理杨明获得&ldquo;2003年度APTECH全球体系最佳市场运作奖&rdquo;。<br />
2003年3月，获得《计算机世界》授予的&ldquo;2002年度最佳培训质量管理体系奖&rdquo;<br />
2003年3月，ACCP教材获得《计算机世界》授予的&ldquo;2002年度用户推荐奖&rdquo;<br />
2003年2月，获&ldquo;2002年中国IT培训市场年度成功企业&rdquo;称号.(赛迪顾问)<br />
2003年1月，ACCP教材获得《中国计算机报》授予的&ldquo;最佳实用课程奖&rdquo;<br />
2003年1月，获得《中国计算机报》授予的&ldquo;本土最具知名度认证奖&rdquo;<br />
2003年1月，获得《中国计算机报》授予的&ldquo;最佳就业认同奖&rdquo;<br />
2003年1月，获得《中国计算机报》授予的&ldquo;最佳认证管理奖&rdquo;<br />
2002年11月,获&ldquo;2002年度中国IT公众认知企业金奖&rdquo;。(第三届IT财富年会)<br />
2001年12月,杨明总经理被评为&ldquo;印度APTECH公司2001年度全球唯一最佳职业经理人&rdquo;。</p>
<p>预约北大青鸟免费测试咨询或专家讲座！<br />
电话：010-69258948&nbsp; <br />
网址：<a href="http://www.jb-accp.com">http://www.jb-accp.com</a> <br />
地址：北京市大兴区帝园商城对面，北大青鸟楼3层<br />
&nbsp;</p>]]></description>
		</item>
		
</channel>
</rss>
