paulwong

#

采用输出内容

采用<JSP:FORWORD> 该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户端之前,原来的不发送,改为发送该页面的内容,如果在<JSP: FORWORD>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意. 如下面的例子中(1)会输出index.html的内容,2 不会输出index.html的内容,而是输出out.println("@@@@@@@@@@@@@@@@@"); 中的内容,并且在服务端会抛出:java.lang.IllegalStateException: Response already committed 异常,但客户端没有任何错误输出。

(1)

<%@page buffer="1kb"%>
 
<%
long i=0;
 
for(i=0;i<10;i++)
{
       out.println(
"@@@@@@@@@@@@@@@@@");
}
%>
 
<jsp:forward page="./index.html" /> 

 
(2)

<%@page buffer="1kb"%>
 
<%
long i=0;
 
for(i=0;i<600;i++)
{                 
       out.println(
"@@@@@@@@@@@@@@@@@");
}
%> 

posted @ 2006-07-16 22:45 paulwong 阅读(219) | 评论 (0)编辑 收藏

AJAX 網頁程式設計─rico

rico 是另外一套開放軟體的 JavaScript Framework, 根基於 prototype.js, 但是不僅僅是 prototype.js 的延伸而已, 還創造出一些它獨有的功能, 其中包含以下幾個特色:


1. 支援 AJAX。
2. 支援拖拉式介面。
3. 動畫效果, 如動態改變元件位置大小等。

rico 下載網址:http://openrico.org/rico/home.page


rico 的套用方式也非常簡單, 不過它需要配合 prototype.js, 因此必須在 HTML 文件中同時套用這兩套 Framework, 方法如下。


<head>
<script type="text/javascript" src="script/prototype.js">
</script>
<script type="text/javascript" src="script/rico.js"></script>
</head>


rico 範例:旅遊網站

rico 的 ajax 實作是以一個 ajaxEngine 物件為核心, 任何 ajax 的動作都是透過這個物件來完成, 事實上, 它的觀念也非常簡單, 非常適合初次使用 ajax 的人學習。在這個小節中, 筆者將透過簡單的範例來介紹 rico ajax 的使用。


我們設計了一個「台灣走透透 — 縣市情報通」的網站, 主要功能是提供使用者查詢台灣各縣市資訊及小吃特產等資訊, 類似旅遊資訊之類的情報站。但是如果我們只是單純將各個縣市的情報寫成 HTML 檔案, 然後讓使用者點選超連結瀏覽, 這樣就不符合前面章節所提的非同步通訊的好處, 所以在這裡我們就改變設計, 讓使用者選擇想要瀏覽的縣市之後, 立刻出現該縣市相關資訊, 當然在這裡我們是要學習 AJAX, 所以這個範例就是利用 AJAX 來完成這樣的動作。


整個 HTML 檔案主要是由一個 select box 和一個 <DIV> 標籤所構成, 當使用者選取了 select box 中任一個地名時, 右手邊的 <DIV> 區塊便會被置換成相對應的地區介紹, 當然這些介紹文字都是經由 AJAX 向伺服器要來的。


rico_exam.html
01 
<html>
02 
<head>
03 
<meta http-equiv="Content-Type"
04 content
="text/html; charset=UTF-8" />
05 
<script type="text/javascript" src="script/prototype.js">
06 </script>
07 
<script type="text/javascript" src="script/rico.js">
08 </script>
09
10 
<script type="text/javascript">
11 var cur_sel;
12 function init() {
13 cur_sel = '0';
14 document.getElementById('selField').value=cur_sel;
15 // 向 ajaxEngine 註冊一個新的要求 - AID_LOCQUERY
16 【ajaxEngine.registerRequest('AID_LOCQUERY', 'loc.php');】
17 // 向 ajaxEngine 註冊一個新的元件 - descField
18 【ajaxEngine.registerAjaxElement('descField');】
19 }
20
21 function queryLocDesc(sel) {
22 var locName = sel.value;
23 if (locName != '0&& locName != cur_sel) {
24 // 送出 AID_LOCQUERY 的要求,並指定參數
25 【ajaxEngine.sendRequest ('AID_LOCQUERY', 】
26 【'locName='+locName);】
27 cur_sel = locName;
28 }
29 }
30 </script>
31 
<title>台灣走透透 — 縣市情報通</title>
32 
</head>
33 
<body onload="init()">
34
35 
<table width="50%" border=0>
36 
<tr>
37 
<td width="25%" valign="top">
38 請選擇縣市情報:
39 
<select id="selField" onchange="queryLocDesc(this)">
40 
<option value="0" selected>----------</option>
41 
<option value="1">台北市</option>
42 
<option value="2">台北縣</option>
43 
<option value="3">基隆市</option>
44 
<option value="4">宜蘭縣</option>
45 
<option value="5">桃園縣</option>
46 
</select>
47 
</td>
48 
<td>
49 
<div id="descField"></div>
50 
</td>
51
52 
</tr>
53 
</table>
54
55 
</body>
56 
</html>


執行結果




程式說明

這個範例的流程圖如右:

 

這個範例看起來簡單多了, 這也是我們為什麼要使用 Framework 的目的之一, 重複利用別人的成果, 可以為自己解省力氣, 並專注在開發更精緻的產品上。


在範例一開始, 我們首先要載入兩個 JavaScript 程式庫, 一個是前面所介紹的 prototype.js, 而一個是 rico.js, 因為 rico.js 實際上是植基於 prototype.js 上, 所以在使用 rico 之前, 務必要先載入 prototype.js, 而且要使用對的版本, 例如在筆者撰寫本章節時, rico 最新的版本是 1.1.0, 它所需要的 prototype.js 最低需求是 1.4.0, 所以你如果要使用這個版本, 同樣的也需要一份 prototype.js 1.4.0 的函式庫。


在載入 prototype.js 以及 rico.js 之後, 接下來的 script 區塊便是我們自己的程式碼了, 在這個範例中, 筆者只用了短短兩個函式, 第一個函式 init() 是用來在頁面被載入的同時做初始化, 另外一個函式 queryLocDesc() , 是當使用者選擇了 select box 中不同的選項時, 做出對應的動作, 所以我們必須在 select box 的 onchange 事件被觸發時去執行這個函式。


前面有提到 rico 的 AJAX 是以 ajaxEngine 為核心, 所以整個頁面不管有幾個 AJAX 需求, 都是要跟這個物件註冊, 在第一個範例中, 我們只有一種 AJAX 需求, 所以我們也只對 ajaxEngine 註冊一個要求, 在 rico 中, 你要完成這個動作就是要呼叫 registerRequest() 函式, 不過註冊的動作並不會觸發 XMLHttpRequest 立刻去執行, 而是必須等到我們呼叫了 sendRequest() 這個函式後, ajaxEngine 才會真正有動作。


因為我們可以對 ajaxEngine 註冊好幾個 AJAX 需求, 為了區別不同的需求, 便需要一個 ID 來辨識, rico 是以一個字串 ID 來為每個 AJAX 需求作辨認, 所以不管你呼叫 registerRequest() 以及 sendRequest() 時都要指定這個 ID, 讓 rico 可以知道你要做的是那個 AJAX 動作, 在我們第一個範例中, 就是以 AID_LOCQUERY 作為這個 ID 字串。又例如以下程式碼便是我們註冊了好幾個 AJAX 需求, 且個別去執行動作。


function init() {
ajaxEngine.registerRequest('AID_FOODQUERY', 'food.php');
ajaxEngine.registerRequest('AID_FUNQUERY', 'fun.php');
ajaxEngine.registerRequest('AID_INFO', 'info.php');
}

function queryFood() {
ajaxEngine.sendRequest('AID_FOODQUERY');
}

function queryFun() {
ajaxEngine.sendRequest('AID_FUNQUERY');
}

function queryInfo() {
ajaxEngine.sendRequest('AID_INFO');
}

利用 rico 開發 AJAX 有個限制, 也就是你必須給它適當格式的 XML 文件, 底下便是我們給第一個範例的 XML 文件:


<?xml version="1.0" encoding="UTF-8"?>
<ajax-response>
<response type="element" id="descField">
<img src="/images/sights/taipeicity00.jpg" />
<table border="0">
<tr><td><b>面積</b>: 271.7997平方公里</td></tr>
<tr><td><b>人口</b>:264萬6474人(2001.6)</td></tr>
<tr><td><b>知 名 小 吃:</b></td></tr>
<tr><td>香腸、麵線、小籠包、麻辣鍋、滷味、豆乾、芒果冰
、牛肉麵、藥燉排骨、大餅包小餅、豆花、蛇肉、下午茶、飲茶
、茶點、夜市小吃、各省料理、各國料理
</td></tr>
</table>
</response>
</ajax-response>

在每個給 rico ajaxEngine 的 XML 文件中, 必須是由 <ajax-response> </ajax-response> 所包裝起來, 而在這個區塊中, 你又必須將你真正的資料包裝在 <response> </response> 區塊中, 不過在同一個 <ajax-response> 區塊中, 可以包含多個 <response> 區塊。


在每個 <response> 的標籤中, 你必須描述這個回應的屬性和辨識 ID, 屬性可以是 element 或者是 object, 端看你向 ajaxEngine 註冊的是 element 或者是 object 而定, 例如在第一個範例中, 我們註冊了一個 element, 它的 ID 是 descField:


ajaxEngine.registerAjaxElement('descField');

不過, 在你的 HTML 文件中, 你所註冊的 ID 必須要有相對應的 <DIV> 區塊, 因為當 ajaxEngine 收到伺服器的回應後, 會對這個 <DIV> 區塊做替換的工作, 例如, 在第一個範例中, ajaxEngine 會將 <response> </response> 中所夾帶的 HTML 內容替換到 <DIV id="descField"> </DIV> 中, 因此在瀏覽器上, 我們就可以看到資料的呈現。

posted @ 2006-07-15 13:45 paulwong 阅读(681) | 评论 (0)编辑 收藏

服务器在某些情况下需要进行的调整

服务器在某些情况下需要进行的调整.

=======================================================================
一、中文问题
如果操作系统不支持中文,应首先使操作系统支持中文。
附录中提供为Aix安装中文补丁包的步骤,其他操作系统请参照相关资料。
(1)weblogic
修改startweblogic.sh(startweblogic.cmd)中启动server的命令,重新设置虚拟机参数
添加-Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh -Duser.region=CN
具体如下:

%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
-Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh -Duser.region=CN
-Dweblogic.Name=%SERVER_NAME%
-Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE%
-Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server

(2)websphere
修改应用程序服务器->进程定义->JVM虚拟机->一般自变量定义
添加-Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh -Duser.region=CN
=======================================================================
二、内存调优
通过分析运行日志,在中间件服务器运行时,可找到管理信息->日志分析
服务器不运行情况下,可超找服务器主目录下的fpplogs目录.
查看是否存在OutOfMemoryError错误,如果存在说明存在超出虚拟机分配的内存,
应该适当调整虚拟机内存。
(1)weblogic
可以设置-Xms(最小使用内存) -Xmx(最大使用内存),-XX:MaxPermSize
最大使用内存:对于UNIX而言,一般不应超过物理内存的75%;
对于Windows, 一般不应超过物理内存的50%;
-XX:MaxPermSize 一般应为ms(最大使用内存)的一半;

具体操作时,修改startweblogic.sh(startweblogic.cmd)中启动server的命令,重新设置虚拟机参数

set MEM_ARGS=-Xms128m -Xmx512m -XX:MaxPermSize=256m
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
-Dweblogic.Name=%SERVER_NAME%
-Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE%
-Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server

(2)websphere
修改应用程序服务器->进程定义->JVM虚拟机
设置最大最小内存,并重新启动服务器.
========================================================================
三、连接池的优化
可以参照同一时间连接数据库的用户数量,进行设置,
数据库的最大连接数不能小于高峰时期同一时间连接用户的数量。
(1)weblogic
Services->jdbc-->Connection Pools-->centerconn-->connections
initial Capacity(初始连接数):10
Maximum Capacity(最大连接数):50
CapacityIncrement:(每次递增数):3
(2)websphere
请参考weblogic设置数据源的最大最小连接数。

========================================================================
附录:

在AIX中使用中文有两种途径:第一是在安装AIX时选择中文语言,装好的系统自动显示中文(这种方法不推荐使用,它没有第二种方法使用起来灵活)。第二是安装AIX时选择英文,系统启动后手工设置中文环境,方法如下:

1. 将AIX系统盘的第一张光盘放入光驱;

2. 运行命令:

smitty

--> System Environments

--> Manage Languange Environment

--> Change/Show Primary Language Environment

--> Change/Show Cultural Convention, Language, or Keyboard



在随后显示的菜单中将光标分别移到以下字段:



Primary CULTURAL Convention

Primary LANGUAGE translation

Primary KEYBOARD



按下,从弹出的菜单中选择“IBM-eucCN”将上述字段改为简体中文,按下回车键后系统自动从光盘安装中文环境软件包。此操作完成后重新启动系统,操作界面即为简体中文。


========================================================================
注:本文档只做参照,并不能千篇一律的这样做.还需要具体问题具体分析.

posted @ 2006-07-12 22:00 paulwong 阅读(447) | 评论 (0)编辑 收藏

中文版API

中文版API

http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/index.html

posted @ 2006-06-22 11:02 paulwong 阅读(168) | 评论 (0)编辑 收藏

如何在TOMCAT中调试JSP

调试JSP时,在tomcat里改\conf\server.xml


< path="/myweb"  docbase="C:\eclipse\workspace\MyJ2EEProject\myweb"  workDir="C:\eclipse\workspace\MyJ2EEProject\j2src" />


< docBase="D:\workspace\myJSP\test" path="/test" reloadable="true" workDir="D:\workspace\myJSP\j2src"/> 


j2src不要改动

posted @ 2006-06-18 13:48 paulwong 阅读(379) | 评论 (0)编辑 收藏

Eclipse插件JSEclipse 1.5 发布

 
    Eclipse插件JSEclipse 1.5 近日宣布发布新版本。

    JSEclipse 是个Eclipse 下的免费Javascript 脚本编辑器,最大的特点就是支持js的自动完成功能,支持普通DOM对象的点取,如文档对象,screen对象。除过基本的DOM对象支持外, JSEclipse对js文件内的Class和Function也能完美地支持自动完成。除过自动完成功能外,该插件还支持JS的语法高亮,错误和警告提示等等。该插件支持Eclipse 3.X。此次发布的新版本中进行了非常重要的提升。其中包括对代码完成引擎的大幅度的改进,增加了代码模板支持以及大量的帮助信息来简化工作。

JSEclipse 1.5 支持JRE 1.4。

下载地址:

http://www.interaktonline.com/Products/Eclipse/JSEclipse/Try- Download/

posted @ 2006-06-18 12:35 paulwong 阅读(1639) | 评论 (0)编辑 收藏

進銷存系統有幾個資料庫?

我在教授 軟體設計課程,尤其是以使用案例圖在說明架構設計時,每一個用套件(Package)所界定範圍的系統,係指軟體應用系統,但卻幾乎不會談及到資料庫。因 為,軟體應用系統與資料庫是兩個不同的層次,甚至,把資料庫視為是應用系統的 "私有倉儲(private storage)",會比較恰當。


不過,這衍生出一個問題,學員不容易分清楚如何 "mapping" 抽象面的架構設計至實體的 IT 系統,尤其是資料庫的問題。所以,我會先帶一個問題問學員:在設計層次的考量中,進銷存系統有幾個資料庫?


這一個問題要能回答得出來,其假設前提的考量必須要瞭解,在整體的架構設計中,設計團隊到底將 "進銷存" 視為是一個,還是三個,甚至多個的子系統?


參考下圖1,這是把 "進銷存" 視為是單一的系統,所以,資料庫只有一個。


好處是什麼? 就是簡單,開發也容易。進銷存相關的資訊處理,都是在同一個資料庫內,並沒有分散的問題,所以當處理銷貨需要查詢庫存資訊時,只要下 SQL 敘述直接連結庫存的 TABLE 即可。



圖1、將進銷存視為一個整體系統


參考下圖2,架構設計之初時,就已把 "進銷存" 分為三個子系統(Sub-system),或者也可以稱之為元件(Component),以凸顯子系統之間的溝通,是透過介面(Interface)的呼 叫。其實,論子系統的範圍與規模,稱為 "模組(Module)" 更為適合,不過,我個人並不喜歡以 "模組" 二字來稱之,因為,這個術語被業界給濫用了,已淪落為在業務面的術語,卻並沒有在實體的系統間,嚴格遵循透過介面的呼叫。


所以圖2,有三個資料庫。


當銷貨人員處理銷貨需要查詢庫存資訊時,需要透過庫存系統所提供的介面來呼叫,介面的實做可能是 "Web Service"、"Java Bean"、"Session Bean"、"COM+" 等,但絕對不能直接下 SQL 來呼叫位於庫存系統內的資料庫,否則,就違背了圖2的整體架構設計。不遵循整體架構設計的規範,私自偷偷連接,稱之為 "跳線"。



圖2、將進銷存分成三個獨立的子系統

上圖2的抽象設計與IT面的實做技術,比較困難,也需要花較多成本,以專案為主(Project-based)的開發,時程短、預算 低廉,不容易達成圖2的設計目標。但若重覆性的專案,專注在進銷存這個領域上,有豐富足夠的領域知識(Domain Knowledge),且打算產品化(Product),那麼,圖2的系統架構來得有彈性很多,"進"、"銷"、"存" 三個子系統(元件),均可以隨意抽換,各自更新或改版,而不會影響到另一個子系統,如同 PC 主機板內的硬體元件,可以造成 "PnP(Plug and Play)" 的效果。


請注意,上述問題的提問,會有幾個資料庫,是指抽象的邏輯設計層面,可千萬不要與實體的資料庫混為一 談。例如,圖2雖然需要三個資料庫,但若以 Oracle 資料庫系統,DBA 可以將邏輯層面的三個資料庫,切分為三個 "TABLE SPACE",然後放在同一個實體的 Oracle 資料庫系統內;而若是 MS SQL 或是 MySQL,則是切割為三個 "database",放入同一個實體資料庫系統內。


當然,若有地理位置或資料庫系統負載的問題,要分散至多個實體的資料庫系統,那也沒問題。例如,進銷存位於三個地點不同的廠,各自配置了三個實體資料庫,各自存放自己的資訊。這也是圖2架構設計的優點,一切分合自如!


e 化的系統設計,即使是 ERP 如此重視資料存取與處理的系統,應該要能摒除傳統以資料庫為中心的設計觀點,因為,系統整體的彈性度會不佳,很難應變需求面的頻繁變更,或是 IT 實體平台,包括資料庫系統的變更等。設計重心應該要轉移至 "Middleware",這個術語可能太貼近 IT 平台面了,倒不如乾脆這麼說,設計的重心就是回歸至以 "應用系統" 為主,是觀察應用系統可以提供那些服務(services)或功能(functions),這些服務與功能其實就是系統一個個可以量化的子目標(Sub- goal),次一步驟才是考量如何取得要能達成這些子目標的資訊(資料),要取得資訊,就是到實體的倉儲,也就是私有的資料庫系統去找,或是,透過標準的 程序,也就是透過標準的介面,至外部系統取得相關的資訓來處理。

posted @ 2006-06-17 09:57 paulwong 阅读(538) | 评论 (0)编辑 收藏

tomcat支持中文名的处理方式

在server.xml配置文件中,增加URIEncoding=GBK"

<Connector port="8080"
               maxThreads
="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups
="false" redirectPort="8443" acceptCount="100"
               connectionTimeout
="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
    
<!-- Note : To disable connection timeouts, set connectionTimeout value
     to 0 
-->

posted @ 2006-06-11 17:52 paulwong 阅读(285) | 评论 (0)编辑 收藏

华为公司 java 面试题

第一部分:选择题
QUESTION NO: 1
1、


public   class  Test {
    
public   static   void  changeStr(String str){
        str
= " welcome " ;
    }
    
public   static   void  main(String[] args) {
        String str
= " 1234 " ;
        changeStr(str);
        System.out.println(str);
    }
}

Please write the output result :

QUESTION NO:2

1public class Test {
2static boolean foo(char c) {
3. System.out.print(c);
4return true;
5. }
6public static void main( String[] argv ) {
7int i =0;
8for ( foo('A'); foo('B')&&(i<2); foo('C')){
9. i++ ;
10. foo('D');
12. }
13. }
14. }


What is the result?
A. ABDCBDCB
B. ABCDABCD
C. Compilation fails.
D. An exception is thrown at runtime.


QUESTION NO: 3

1class A {
2protected int method1(int a, int b) { return 0; }
3. }

Which two are valid in a class that extends class A? (Choose two)
A. public int method1(int a, int b) { return 0; }
B. private int method1(int a, int b) { return 0; }
C. private int method1(int a, long b) { return 0; }
D. public short method1(int a, int b) { return 0; }
E. static protected int method1(int a, int b) { return 0; }

QUESTION NO: 4

1public class Outer{
2public void someOuterMethod() {
3// Line 3
4. }
5public class Inner{}
6public static void main( String[]argv ) {
7. Outer o = new Outer();
8// Line 8
9. }
10. }

Which instantiates an instance of Inner?
A. new Inner(); // At line 3
B. new Inner(); // At line 8
C. new o.Inner(); // At line 8
D. new Outer.Inner(); // At line 8//new Outer().new Inner()

QUESTION NO: 5
Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream?
A. The encodeURL method of the HttpServletRequest interface.
B. The encodeURL method of the HttpServletResponse interface.
C. The rewriteURL method of the HttpServletRequest interface.
D. The rewriteURL method of the HttpServletResponse interface.


QUESTION NO: 6
Which two are equivalent? (Choose two)
A. <%= YoshiBean.size%>
B. <%= YoshiBean.getSize()%>
C. <%= YoshiBean.getProperty("size")%>
D. <jsp:getProperty id="YoshiBean" param="size"/>
E. <jsp:getProperty name="YoshiBean" param="size"/>
F. <jsp:getProperty id="YoshiBean" property="size"/>
G. <jsp:getProperty name="YoshiBean" property="size"/>


QUESTION NO: 7
Which of the following statements regarding the lifecycle of a session bean are correct?
1.  java.lang.IllegalStateException is thrown if SessionContext.getEJBObject() is invoked when a stateful session bean instance is passivated.
2.  SessionContext.getRollbackOnly() does not throw an exception when a session bean with bean-managed transaction demarcation is activated.
3.  An exception is not thrown when SessionContext.getUserTransaction() is called in the afterBegin method of a bean with container-managed transactions.
4.  JNDI access to java:comp/env is permitted in all the SessionSynchronization methods of a stateful session bean with container-managed transaction demarcation.
5.  Accessing resource managers in the SessionSynchronization.afterBegin method of a stateful session bean with bean-managed transaction does not throw an exception.


第二部分:概念题
1.    描述Struts体系结构?对应各个部分的开发工作主要包括哪些?

 

2.    XML包括哪些解释技术,区别是什么?

 


3.    JSP有哪些内置对象和动作?它们的作用分别是什么?

 


4、SQL问答题
SELECT * FROM TABLE

SELECT * FROM TABLE
WHERE NAME LIKE '%%' AND ADDR LIKE '%%'
AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%'
OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' )
的检索结果为何不同?

 

5、SQL问答题
表结构:
1、    表名:g_cardapply
字段(字段名/类型/长度):
g_applyno        varchar   8;//申请单号(关键字)
g_applydate     bigint     8;//申请日期
g_state        varchar     2;//申请状态

2、    表名:g_cardapplydetail
字段(字段名/类型/长度):
g_applyno        varchar     8;//申请单号(关键字)
g_name        varchar     30;//申请人姓名
g_idcard        varchar     18;//申请人身份证号
g_state        varchar     2;//申请状态

其中,两个表的关联字段为申请单号。

题目:
1、    查询身份证号码为440401430103082的申请日期

2、    查询同一个身份证号码有两条以上记录的身份证号码及记录个数

3、    将身份证号码为440401430103082的记录在两个表中的申请状态均改为07

4、    删除g_cardapplydetail表中所有姓李的记录

posted @ 2006-05-21 18:46 paulwong 阅读(2799) | 评论 (2)编辑 收藏

世界杯赛事时间表

世界杯赛事时间表:


posted @ 2006-05-21 16:18 paulwong 阅读(1007) | 评论 (1)编辑 收藏

仅列出标题
共110页: First 上一页 102 103 104 105 106 107 108 109 110 下一页