Ⅰ 關於VFP語言的問題,請大家多多指教!
vfp的DBF格式的文件篩選數據,方式有兩種,一種是 ...for 條件,一種是select ...form SQL語句,請參照以下語法:
select - sql 命令
從一個或多個表中檢索數據。
語法
SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]]
[Alias.] Select_Item [AS Column_Name]
[, [Alias.] Select_Item [AS Column_Name] ...]
FROM [FORCE]
[DatabaseName!]Table [[AS] Local_Alias]
[[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN
DatabaseName!]Table [[AS] Local_Alias]
[ON JoinCondition …]
[[INTO Destination]
| [TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT]
| TO SCREEN]]
[PREFERENCE PreferenceName]
[NOCONSOLE]
[PLAIN]
[NOWAIT]
[WHERE JoinCondition [AND JoinCondition ...]
[AND | OR FilterCondition [AND | OR FilterCondition ...]]]
[GROUP BY GroupColumn [, GroupColumn ...]]
[HAVING FilterCondition]
[UNION [ALL] SELECT命令]
[ORDER BY Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ...]]
參數
SELECT
在 SELECT 子句中指定在查詢結果中包含的欄位、常量和表達式。
ALL
查詢結果中包含所有行 ( 包括重復值 )。ALL 是默認設置。
DISTINCT
在查詢結果中剔除重復的行。
注意 每一個 SELECT 子句只能使用一次 DISTINCT。
TOP nExpr [PERCENT]
在符合查詢條件的所有記錄中,選取指定數量或百分比的記錄。TOP 子句必須與 ORDER BY 子句同時使用。ORDER BY 子句指定查詢結果中包含的列上由Top字句決定的行數, TOP 子句根據此排序選定最開始的 nExpr個或 nExpr% 的記錄。
您可以指定選取 1 到 32767 個記錄。使用 ORDER BY 子句指定的欄位進行排序,會產生並列的情況,比如,可能有多個記錄,它們在選定的欄位上相同;所以,如果您指定 nExpr 為 10,在查詢結果中可能多於 10 個記錄,因為可能有幾個記錄位置並列。
如果包含 PERCENT 關鍵字指定查詢結果中的記錄數,得到記錄數的可能是小數,這時進行取整。包含 PERCENT 關鍵字時,nExpr 的范圍是 0.01 到 99.99。
Alias.
限定匹配項的名稱。 Select_Item 指定的每一項在查詢結果中都生成一列。如果多個項具有相同的名稱,則應在這些項名前加上表的別名和一個句點,以防止出現重復的列。
Select_Item 指定包括在查詢結果中的項。一個項可以是:
FROM 子句所包含的表中的欄位名稱。
一個常量,查詢結果中每一行都出現這個常量值。
一個表達式,可以是用戶自定義函數名。
AS Column_Name
指定查詢結果中列的標題。當 Select_Item 是一個表達式或一個欄位函數時,如果要給此列取一個有含義的名稱,一般可以使用這個子句。Column_Name可以是一個表達式,但不能包含那些表欄位名稱中不允許出現的字元(如空格)。
FROM
列出所有從中檢索數據的表。如果沒有打開表, Visual FoxPro 顯示「打開」對話框以便指定文件位置。表打開以後,直到查詢結束時才關閉。
如果您包含 FORCE 關鍵字,Visual FoxPro 在建立查詢時會嚴格按照您在FROM 子句中聲明的順序連接表;若不包含 FORCE 關鍵字,Visual FoxPro 會試圖對查詢進行優化。使用 FORCE 子句,避免了優化過程,可能加快查詢執行的速度。
DatabaseName!
當包含表的資料庫不是當前資料庫時,DatabaseName! 指定這個資料庫的名稱。如果資料庫不是當前資料庫,就必須指定包含表的資料庫名稱。應在資料庫名稱之後表名之前加上感嘆號(!)分隔符。
[AS] Local_Alias
為 Table 中的表指定一個臨時名稱。如果指定了本地別名,那麼在整個SELECT 語句中必須都用這個別名代替表名。本地別名不影響 Visual FoxPro環境。INNER JOIN 只有在其他表中包含對應記錄(一個或多個)的記錄才出現在查詢結果中。
INNER JOIN 只有在其他表中包含對應記錄(一個或多個)的記錄才出現在查詢結果中。
LEFT [OUTER] JOIN 在查詢結果中包含:JOIN 左側表中的所有記錄,以及JOIN 右側表中匹配的記錄。OUTER 關鍵字可被省略;包含 OUTER 強調這是一個外連接 (outer join)。
RIGHT [OUTER] JOIN 在查詢結果中包含:JOIN 右側表中的所有記錄,以及 JOIN 左側表中匹配的記錄。OUTER 關鍵字可被省略;包含 OUTER 強調這是一個外連接接 (outer join)。
FULL [OUTER] JOIN 在查詢結果中包含:JOIN 兩側所有的匹配記錄,和不匹配的記錄;包含 OUTER 強調這是一個外連接 (outer join)。
ON JoinCondition 指定連接條件。
INTO Destination
指定在何處保存查詢結果。如果在同一個查詢中同時包括了 INTO 子句和 TO 子句,則 TO 子句不起作用。如果沒有包括 INTO 子句,查詢結果顯示在「瀏覽」窗口中。也可以用 TO 將查詢結果定向輸出到列印機或文件。
Destination 可以是下列子句之一:
ARRAY ArrayName ,將查詢結果保存到變數數組中。如果查詢結果中不包含任何記錄,則不創建這個數組。
CURSOR CursorName將查詢結果保存到臨時表中。如果指定了一個已打開表的名稱,則 Visual FoxPro 產生錯誤信息。執行完 SELECT 語句後,臨時表仍然保持打開、活動但只讀。一旦關閉臨時表,則自動刪除它。臨時表作為 SORTWORK 指定驅動器上的一個臨時文件存在。
包含NOFILTER是為了創建一個能用在後來的詢問中的指針。在Visual燜oxPro以前的版本需要一個額外的常量或表達式作為過濾器去創建一個能用在後來的詢問中的指針。
SELECT *, .T. FROM customers INTO CURSOR myquery
包含NOFILTER能夠減少詢問的發生是因為臨時表是建立在磁碟上的,當臨時表被刪除,指針就要被關閉。
DBF TableName | TABLE TableName ,將查詢結果保存到一個表中。如果指定的表已經打開,並且 SET SAFETY 設置為 OFF,則 Visual FoxPro 在不給出警告的情況下改寫該表。如果沒有指定擴展名,Visual FoxPro 指定表的擴展名是 .DBF。SELECT 語句執行結束後,表仍然保持打開活動狀態。
包含DATABASE DatabaseName 以指定添加了表的資料庫。包含NAMELongTableName 可以為該表命一個最多可包括128個字元的並且可以在資料庫中代替短名字的長名。
TO FILE FileName
如果命令中包括了 TO 子句,但沒有包括 INTO 子句,則查詢結果定向輸出到名為FileName 的 ASCII 碼文件、列印機或 Visual FoxPro 主窗口。
ADDITIVE 把查詢結果定向輸出到由TO FILE FileName指定的文本文件的現存目錄上。
TO PRINTER [PROMPT] 使查詢結果定向輸出到列印機。在列印開始之前,使用可選的 PROMPT 子句顯示一個對話框。您可以根據當前安裝的列印機驅動程序調整列印機的設置。將 PROMPT 子句放置在緊跟 TO PRINTER 之後。
TO SCREEN 使查詢結果定向輸出到 Visual FoxPro 主窗口或活動的用戶自定義窗口中。
PREFERENCE PreferenceName
如果查詢結果送往瀏覽窗口,就可以使用 PREFERENCE 保存瀏覽窗口的屬性和選項以備後用。PREFERENCE 把特徵屬性或參數選項長期保存在 FOXUSER 的資源文件中,任何時侯都可以對它們進行檢索。
第一次執行有 PREFERENCE PreferenceName 的 SELECT 命令時創建參數選項。以後執行有相同參數選項名的 SELECT 命令時便將瀏覽窗口恢復到原來的參數選項狀態。當瀏覽窗口關閉時,更新參數選項。
如果您按下CTRL+Q+W 鍵退出「瀏覽」窗口,您對「瀏覽」窗口所做的更改不會保存到資源文件中。
NOCONSOLE
不顯示送到文件、列印機或 Visual FoxPro 主窗口的查詢結果。
PLAIN
防止列標題出現在顯示的查詢結果中。不管有無 TO 子句都可使用 PLAIN子句。如果 SELECT 語句中包括 INTO 子句,則忽略 PLAIN 子句。
NOWAIT
打開瀏覽窗口並將查詢結果輸出到這個窗口後繼續程序的執行。程序並不等待關閉瀏覽窗口,而是立即執行緊接在 SELECT 語句後面的程序行。
SELECT 命令中包括 TO SCREEN 可以把查詢結果定向輸出到 Visual FoxPro 主窗口或用戶自定義窗口。如果顯示時 Visual FoxPro 主窗口或用戶自定義窗口中寫滿了一屏,就暫停輸出。按任意鍵可以查看查詢結果後面的內容。但是,如果命令中包括了NOWAIT 子句,顯示查詢結果時就不會暫停,等待按鍵,而是在 Visual FoxPro 主窗口或用戶自定義窗口中連續滾過所有內容。如果命令中包含有 INTO 子句,忽略NOWAIT 子句。
WHERE
通知 Visual燜oxPro 在查詢結果中僅包含一定數目的記錄。如果要從多個表中檢索數據,WHERE 子句是必需的。
JoinCondition
指定一個欄位,該欄位連接 FROM 子句中的表。如果查詢中包括不止一個表,就應該為第一個表後的每一個表指定連接條件。
連接多個查詢條件必須使用操作符 AND。每個連接條件都有下面的形式:
FieldName1 Comparison FieldName2
其中 FieldName1 是一個表中的欄位名,FieldName2 是另一表中的欄位名,Comparison 是下表中列出的某一操作符。
操作符 比較關系
= 相等
== 完全相等
LIKE SQL LIKE
<>, !=, # 不相等
> 大於
>= 大於等於
< 小於
<= 小於等於
對字元串使用 = 操作符時,所得結果與 SET ANSI 的設置有關。當 SET ANSI 設置為 OFF 時, Visual FoxPro 比較字元串的方式與 Xbase 的用戶相同。當 SET ANSI 的設置為 ON 時, Visual FoxPro 比較字元串時遵守 ANSI 標准。有關 Visual FoxPro 字元比較方法的詳細內容,請參閱 SET ANSI 和 SET EXACT。
WHERE子句支持ESCAPE操作符,允許執行對包含有SELECT ?SQL %和通配符的數據的有意義的查詢。
ESCAPE子句允許指定一個可以看作文字字元的SELECT ?SQL通配符。 ESCAPE子句允許指定一個字元,一旦它被放到通配符字元之前,就表示這個通配符被看作一個文字字元。
FilterCondition
指定將包含在查詢結果中記錄必須符合的條件。使用 AND 或 OR 操作符,您可以包含隨意數目的過濾條件。您還可以使用 NOT 操作符將邏輯表達式的值取反,或使用 EMPTY() 函數以檢查空欄位。
FilterCondition 可以是下面示例中的任何一種形式:
示例 1
示例 1 顯示 FieldName1 Comparison FieldName窗體中的Fliter Condition
customer.cust_id = orders.cust_id
示例 2
示例 2 顯示 FieldName Comparison Expression 窗體中的Fliter Condition
payments.amount >= 1000
示例 3
示例 3 顯示 FieldName Comparison ALL (Subquery) 窗體中的 Fliter Condition
當篩選條件包括 ALL 時,只有指定欄位滿足所有子查詢結果後,它所在的記錄才能添加到查詢結果中。
company < ALL ;
(SELECT company FROM customer WHERE country = "UK")
示例 4
示例 4 顯示 FieldName Comparison ANY | SOME (Subquery) 窗體中的 Fliter Condition
當篩選條件包含 ANY 或 SOME 時,欄位必須至少滿足一個由子查詢產生的值所決定的比較條件。
company < ANY ;
(SELECT company FROM customer WHERE country = "UK")
示例 5
示例 5 顯示 FieldName [NOT] BETWEEN Start_Range AND End_Range 窗體中的Fliter Condition
該示例檢查欄位中的值是否在指定范圍內。
customer.postalcode BETWEEN 90000 AND 99999
示例 6
示例 6 顯示 [NOT] EXISTS (Subquery) 窗體中的 Fliter Condition
該示例檢查是否至少有一行滿足子查詢中的條件。當篩選條件包括 EXISTS 時,只要子查詢不為空集,篩選的條件就為「真」(.T.)。
EXISTS ;
(SELECT * FROM orders WHERE customer.postalcode = orders.postalcode)
示例 7
示例 7 顯示 FieldName [NOT] IN Value_Set 窗體中的 Fliter Condition
當篩選條件中包含 IN 時,把欄位所在記錄添加到查詢結果中的條件是欄位必須包含值集合的一個元素。
customer.postalcode NOT IN ("98052","98072","98034")
示例 8
示例 8 顯示 FieldName [NOT] IN (Subquery) 窗體中的 Fliter Condition
這里,記錄包含在查詢結果中的條件是:欄位必須包含一個子查詢的返回值。
customer.cust_id IN ;
(SELECT orders.cust_id FROM orders WHERE orders.city="Seattle")
示例 9
示例 9 顯示 FieldName [NOT] LIKE cExpression 窗體中的 Fliter Condition
customer.country NOT LIKE "UK"
這個篩選條件查找每個與字元串表達式相匹配的欄位。
在字元串表達式中可以使用百分號 (%) 和下劃線 ( _ ) 通配符。下劃線表示字元串中一個任意字元。
GROUP BY GroupColumn [, GroupColumn ...]
按列的值對查詢結果的行進行分組。GroupColumn 可以是常規的表欄位名,也可以是一個包含 SQL 欄位函數的欄位名,還可以是一個數值表達式,指定查詢結果表中的列位置(最左邊的列編號為 1 )。
HAVING FilterCondition
指定包括在查詢結果中的組必須滿足的篩選條件。HAVING 應該同 GROUP BY一起使用。它能包含數量不限的篩選條件,篩選條件用 AND 或 OR 連接,還可以使用 NOT 來對邏輯表達式求反。
FilterCondition 不能包括子查詢。
使用 HAVING 子句的命令如果沒有使用 GROUP BY 子句,則它的作用與WHERE 子句相同。可以在 HAVING 子句中使用本地別名和欄位函數。如果HAVING 子句不包含欄位函數的話,使用 WHERE 子句可以獲得較快的速度。
[UNION [ALL] SELECT命令]
把一個 SELECT 語句的最後查詢結果同另一個 SELECT 語句最後查詢結果組合起來。默認情況下,UNION 檢查組合的結果並排除重復的行。要組合多個UNION 子句,可使用括弧。
ALL 防止 UNION 刪除組合結果中重復的行。
UNION 子句遵守下列規則:
不能使用 UNION 來組合子查詢。
兩個 SELECT 命令的查詢結果中的列數必須相同。
兩個 SELECT 查詢結果中的對應列必須有相同的數據類型和寬度。
只有最後的 SELECT 中可以包含 ORDER BY 子句,而且必須按編號指出所輸出的列。如果包含了一個 ORDER BY 子句,它將影響整個結果。
ORDER BY Order_Item
根據列的數據對查詢結果進行排序。每個 Order_Item 都必須對應查詢結果中的一列。它可以是下列之一:
FROM 子句中表的欄位,同時也是 SELECT 主句(不在子查詢中)的一個選擇項。
一個數值表達式,表示查詢結果中列的位置(最左邊列編號為 1 )。
ASC 指定查詢結果根據排序項以升序排列。它是 ORDER BY 的默認選項。
DESC 指定查詢結果以降序排列。
如果不使用 ORDER BY 指定查詢結果的排列順序,則查詢結果不排序。
說明
同其他 Visual FoxPro 命令一樣,SELECT 是 Visual FoxPro 的一個內部 SQL 命令。當使用 SELECT 進行查詢時,Visual FoxPro 先解釋查詢要求,然後從表中查詢並檢索指定數據。可以在下列環境內建立 SELECT 查詢:
命令窗口
一個 Visual FoxPro 程序(與使用其他 Visual FoxPro 命令一樣)
查詢設計器
如果執行了 SET TALK ON 命令後再執行 SELECT 命令,則 Visual FoxPro 顯示出執行查詢所用的時間和查詢結果中記錄的數目。_TALLY 包含了查詢結果中記錄的數目。
SET FILTER 設置的篩選條件對SELECT 命令不起作用。
下面部分將多次提到子查詢 (subquery),子查詢是指在 SELECT 命令中包含的SELECT 命令。在 SELECT 命令的 WHERE 子句中可以包含最多兩個平級的(非嵌套)的子查詢。子查詢中可以有多個連接條件 (join conditions)。
創建查詢輸出時,列的命名遵循如下規則:
如果選擇項是具有唯一名稱的欄位,則用欄位名作為輸出列名。
如果多個選擇項具有相同名稱。例如,如果名為 Customer 的表有一個STREET 欄位,而名為 Employees 的表也有一個 STREET 欄位,則輸出列命名為 Extension_A 和 Extension_B (STREET_A 和 STREET_B)。如果選擇項名稱有 10 字元長,可以將名稱截短後再加下劃線和字母。例如,DEPARTMENT 變為 DEPARTME_A。
如果選擇項是表達式,它的輸出列命名為 EXP_A。其他表達式分別命名為EXP_B、EXP_C,依此類推。
如果選擇項包含諸如 COUNT() 這樣的欄位函數,則輸出列命名為CNT_A。如果另一個選擇項包含 SUM(),它的輸出列命名為 SUM_B。
SELECT 子句中的用戶自定義函數: 在 SELECT 子句中使用用戶自定義函數有明顯優點,但使用時應考慮以下限制:
SELECT 子句的運行速度會受用戶自定義函數執行速度的影響。因此,如果使用戶自定義函數的操作量很大,則這些函數的功能最好調用 C 語言或匯編語言編寫的 API 或用戶自定義函數來完成。
在 SELECT 激活的用戶自定義函數中,很難預測 Visual FoxPro 輸入/輸出(I/O)和表的環境。一般來說,不知道選擇的工作區是哪一個,不知道當前表的名稱,甚至不知道正在處理的欄位名。這些變數的值完全取決於用戶自定義函數在優化過程的什麼地方激活。
在 SELECT 子句調用的用戶自定義函數中修改 Visual FoxPro I/O 或表的環境是很不安全的。一般來說,這樣做的結果難以預料。
從 SELECT 將值傳遞給用戶自定函數唯一可靠的方法,是激活用戶自定義函數時以參數的形式傳遞。
經過實踐,有可能發現某種被認為是違法的操作在某種 FoxPro 版本中運行正確,但這並不保證它在以後的版本中也能正確運行。
拋開這些限制不說,用戶自定義函數在 SELECT 語句中還是可接受的。但不要忘記使用 SELECT 可能要降低性能。
下列欄位函數可以與選定項一起使用,選定項可以是一個欄位或包含欄位的表達式:
AVG(Select_Item) ,計算列中數值的平均值。
COUNT(Select_Item) ,計算列中選定項的數目。計算查詢輸出的行數。
MIN(Select_Item),確定列中 Select_Item 的最小值。
MAX(Select_Item),確定列中 Select_Item 的最大值。
SUM(Select_Item),計算列中數值的和。
欄位函數不能嵌套使用。
連接 (Join) Visual FoxPro 支持 ANSI SQL '92 連接 (Join) 語法,通過比較兩個或多個表中的欄位,將它們的記錄連接到一起,生成查詢。例如,內部連接 (inner join) 是將兩個表中連接欄位 (joined field) 值相同的記錄選取到查詢中。Visual FoxPro 支持嵌套連接(nested joins)
重要事項 創建連接條件時,請記住如下幾點:
如果在查詢中包括兩個表,又沒有指定連接條件,那麼第一個表中每一個記錄同第二個表中每一記錄之間,只要滿足篩選條件,就連接起來。這種查詢產生的結果很長。
在連接條件中使用 DELETED(),EOF(),FOUND(),RECCOUNT(),和 RECNO() 等支持可選別名或工作區的函數時要小心。在這些函數中包括別名或工作區可能導致不可預料的結果。SELECT 不使用工作區,它執行與 USE ... AGAIN 相同的操作。在不帶可選別名和工作區的情況下使用這些函數進行單表查詢時,可得到正確的結果。但是,使用這些函數進行多表查詢時,即使不帶可選別名或工作區,也可能得到一些莫明其妙的結果。
當連接含有空欄位 (empty field) 的表時也要注意。這是因為 Visual FoxPro匹配空欄位。例如,連接 CUSTOMER.ZIP 和 INVOICE.ZIP 兩個表。如果CUSTOMER 表中的 100 條記錄中沒有給出郵政編碼,INVOICE 表中也有400 條記錄沒有給出郵政編碼,那麼查詢結果中將會由於空欄位的匹配而出現 40000 條多餘的記錄。要去除查詢結果中的空記錄,可以使用 EMPTY() 函數。
有關連接的其它情況,請參閱《Microsoft Visual FoxPro 6.0 中文版程序員指南》第八章「創建視圖」。
---------------------------------------------
以下是本人商用軟體《建築機具租賃結算系統》的各單位日租租賃情況統計子過程,這里多處用到...for條件,請參考指正:
proce sdl95_1
*各單位日租租賃情況統計
use .\dbf\system
bfb0=dtqfbfb &&冬停的百分比
use
use .\dbf\dwname
mchoice=zldm
rq0=ctod(alltrim(c)) &&日期,表示統計到這天,這天算租費
use
create table .\dbf\temp1 (;
rq d,; &&日期
zldm c(3),; &&租賃單位代碼
rzjzj n(12,3),; &&增加租金
rzjjs n(12,3),; &&減少租金
rzj n(12,3),; &&日租金緩沖
rzjhj n(12,3),; &&日租金合計
ts n(4),; &&天數
zlf n(12,3),; &&分步租金
zlflj n(12,3); &&租金累計
)
use
&&以上建立目的是計算一個客戶的租金
&&以下建立各單位的租金、租賃費統計情況表
create table .\dbf\tempX (;
dw c(38) ,; &&單位名稱
rzjhj n(12,3),; &&日租金合計
zlflj n(12,3),; &&租金累計
dtf n(12,3),; &&扣冬停費
sjzlf n(12,3); &&實際租賃費=租金累計-扣冬停費
)
use
&&以下將小於等於rq0日期的所有單位的租賃數據拷貝到temp2表中
use .\dbf\zlmxb
to .\dbf\temp2 for rq<=rq0
use
&&以下將小於等於rq0日期的所有單位的回收數據拷貝到temp3表中
use .\dbf\hsmxb
to .\dbf\temp3 for rq<=rq0
use
*select 2
*use .\dbf\temp2
*select 3
*use .\dbf\temp3
select 1
use .\dbf\temp1
select 8
use .\dbf\tempX &&目的表
select 9
use .\dbf\tempzydwmc
delete all for zldm=" " &&刪除那些無租賃代碼的行
pack
go top
do while .not. eof()
select 1 &&選擇temp1將其內容刪除
zap
append from .\dbf\temp2
delete all for zldm <> tempzydwmc.zldm &&租賃
pack
replace all rzjzj with rzj,rzjjs with 0
jjj=reccount()
append from .\dbf\temp3
delete all for zldm <>tempzydwmc.zldm .and. recno()>jjj &&回收
pack
replace all rzjjs with rzj,rzjzj with 0 for recno()>jjj
append blank
replace rq with rq0+1, rzjjs with 0,rzjzj with 0 &&要統計的那一天日期必須加進去,並且天數+1,因為含今天
index on rq to .\idx\rq
total on rq to .\dbf\temp4
select 4 &&4工作區
use .\dbf\temp4
go bottom
replace ts with 0
rq1=rq
if !bof()
skip -1
endif
*以下計算天數
do while .not. bof()
replace ts with rq1-rq
rq1=rq
skip -1
enddo
rzj0=0 &&日租金初值=0
go top
do while .not. eof()
replace rzjhj with rzj0+rzjzj-rzjjs
replace zlf with ts*rzjhj
rzj0=rzjhj
skip
enddo
*以下****行間一步一步計算租賃累計
****
go top
zlflj0=0
do while .not. eof()
replace zlflj with zlflj0+zlf
zlflj0=zlflj
skip
enddo
sum zlf to zlf00 for rq>=tempzydwmc.dt1 .and. rq<tempzydwmc.dt2 &&這里一定是日期>=冬停1 而 小於< 冬停2
zlf00=zlf00*bfb0 &&bfb0表示冬停取費系數
&& locate for rq=rq0 &&定位到指定的日期
go bottom
select 8
append blank
replace dw with tempzydwmc.zlmc,rzjhj with temp4.rzjhj,zlflj with temp4.zlflj,dtf with zlf00
replace sjzlf with zlflj - dtf
select 4 && temp4表
use
select 9
skip
enddo
close database
return
Ⅱ 什麼是程序員
什麼是程序員
什麼是程序員?什麼人能稱得上是程序員?會編程序的人都是程序員嘛!這個問題看似簡單,但細想一下,也很難回答。其實在中國,有關程序員有很多種接近的叫法,例如“開發人員”,“編程人員”,“電腦人員”等等。只是現在分工越來越細,專業化程度不斷提高程序員這個詞才會逐漸地流行起來。
那麼什麼人才算是編程人員呢,現在看來凡是從計算機專業或相近專業畢業的、以編寫程序為職業的都可算得上程序員。但是在上世紀80年代到90年代,由於計算機還是個新生事物,整個社會對其有種神秘、高貴、不可觸及的印象。加之計算機人才少之又少,除了計算機專業從事開發工作之外,很多非計算機專業的同志,甚至初高中生也加入到開發隊伍之中,他們充滿激情,敢於學習,勇於探索,他們其中有許多人很快地就成為開發隊伍中的主力軍,成為編程人員中的佼佼者。有的時候,專業的程序員還不如業余的程序員,這種情況比比皆是。那個時候,開發環境、學習環境比現在差的很多,程序設計語言比較單調,技術書籍更是少之有少。記得當時只能把單位印製8086,Z80匯編程序設計當作教材,用debug把操作系統中代碼列印成厚厚書籍來閱讀。由於單位是生產電腦(組裝)的,因此,使用電腦還是比較方便,但是,絕不可能在家裡自己擁有電腦的。
由於那時程序員可以觸及電腦,可以看著別人不懂的代碼,可以讓電腦執行自己的指令,在許多外行甚至內行人看來,是非常敬仰的。
程序員一般只掌握單一的程序設計語言,比如編寫匯編程序的程序人員,編寫C語言的程序人員,編寫unix、xenix、aix、soc、hp-unix等unix類的shell程序人員,編寫與資料庫打交道的procc程序人員,編寫C++程序的程序語言,編寫面向對象的VFP、VB、Delphi,PB的程序人員,編寫web程序的HTML,CGI,ASP,php的程序人員、編寫C#、java的程序人員,這些程序語言有些被保留下來,有的則被時代無情淘汰了。同樣程序員如果不能適應語言的發展也避免不了被淘汰的命運。
我感到其實程序員和其他職業人員不同之處:
1)因為比爾蓋茨是編程序的,似乎每個程序設計人員都有一個“比爾蓋茨”夢想:比爾蓋茨能做的,我也許能做到,即使做不到,做一半也是不錯的。這個潛在的意識是程序員最大的財富,許多程序人成了有理想有抱負的人。我想很多人選擇IT大都與此有關吧。
2)工作成果完全由自己把握,隨編隨運行隨出結果。這種自我感覺是很多職業都不具備的。因此,程序員有很強的自信性。而且這種自信,往往可以使得程序員產生自己可以開公司念頭。
3)有很高的預期價值。
軟體通過使用創造了價值,程序員通過製作產生了軟體。因此,程序員往往把軟體的價值看作自己的價值,例如一個軟體賣了5萬元,程序員就會把自己的勞動價值故在5萬上,如果這個軟體有100個潛在的市場,那麼程序員就會把這個價值升值到5*100=500萬上。所以在程序員這個群體,很多人都相信自己未來能夠獲得更多的'收入。
當然,程序員也有其他一些特點,例如:有的程序員喜歡晚上幹活,白天睡覺;有的喜歡鑽研,連續加班;有的頭腦靈活,動手能力強;有的喜歡追逐最新技術,變成別人公司的代言人等等。
有一點我是注意到了,程序員在社會上的地位呈下降趨勢,以往給人以仰目而視的形象,逐步走下神壇。也許我們在中國的程序員中間再也發現不了比爾蓋茨的身影了。
這是程序員的悲哀還是社會的悲哀,還是正常不過的社會現象?
;
Ⅲ it個人簡歷範文_優秀程序員個人求職簡歷
現在IT工作人員找工作都是在通過網路來找,因此一份良好的個人簡歷對於獲得 面試 機會至關重要。本文是我為大家整理的it 個人簡歷 範文 ,僅供參考。
it個人簡歷範文篇一個人信息:
姓 名: 性 別: 男
年 齡: 2 居 住 地:
學 歷: 本科 畢業 院校:
專 業: 計算機科學與技術 電 話:
電子郵箱:
求職意向:java軟體工程師及相關職業
IT技能:
1. 熟練Java、JSP/Servlet、Struts1.2、Hibernate、Spring、Struts2.1
2. 熟練HTML、JavaScript、XML、AJAX、iReport、JQuery;
3. 熟悉Oracle、MySQL,能使用Oracle、MySQL進行開發
4. 能夠以Oracle/Tomcat/MyEclipse/搭配開發環境,Oracle是企業級的資料庫,Tomcat是免
費開源的Web伺服器,MyEclipse是很強大的Java集成開發工具。
5. 熟練使用流行的輔助技術(JDBC/Log4j/JUnit/ AJAX),JDBC用以進行資料庫操作,Log4j
用以記錄日誌,JUnit用以進行單元測試,AJAX用以進行動態驗證和頁面局部刷新。
6. 熟悉OOAD和UML思想。
7. 熟練在Windows環境下的編程 ,開發和環境的搭建,以及伺服器的搭建和項目的部署。熟悉
liunx,unix 環境下的編程。
另外: 熟悉C和VC++編程語言。
項目 經驗 及工作經驗: 2011 / 1——2011 / 5:北京達內科技集團:
項目名稱:TOLO航空公司3G應用門戶(T-3GABS)
項目時間:2011/02
軟體環境:Windows + Android + SQlite
開發工具:Eclipse Galileo
項目描述:為了改進服務質量,提升服務品質,為智能手機用戶提供實時在線的訂票服務,TOLO航空公司決定開發一套3G應用門戶系統,以適應日益增長的客戶需求。該系統使得用戶能通過智能手機客戶端完成航班查詢,訂票,訂單管理,訂單支付,網點查詢,會員積分查詢,動態航班查詢,訂閱消息等功能。
在該項目開發之前,TOLO航空公司已有基於專線網路的T-ABCS營業櫃員系統,和基於Internet的T-WABS(web營業系統),前者主要為TOLO航空公司內部的營業網點提供完整的營業服務(訂票,退票,改簽,列印發票,積分管理等),後者為普通互聯網用戶提供受限的服務(訂票,支付,查詢等)。T-3GABS與以上兩個項目共享同樣的航班信息,與T-WABS共享同樣的用戶賬戶和訂單信息。
項目收獲:通過這個項目的設計,我初步了解了航空公司各業務的基礎知識,對航空公司的運營有了基本的認識。通過該項目,使我對資料庫的操作更加熟悉,同時也加深了對Android系統的理解。
項目名稱:電子商務購物平台(GWAP:通用 WEB 應用平台——General WEB applicationplatform)
項目時間:2011/03
軟體環境:Windows+ Tomcat6.0+ MySQL
開發工具:MyEclipse
項目描述:通用WEB 應用系統,包括交易系統和管理系統兩個獨立的子系統
1. 交易系統功能描述:
商品展示:實現商品預覽、商品明細、分類檢索功能。
購物車: 實現添加商品、刪除條目、恢復條目、數量修改、清空購物車、結算以及為登錄用戶持久化購物車中商品信息的功能。
我的訂單:實現訂單確認、訂單列表、刪除訂單、查詢明細功能。
用戶管理:實現登入/登出、用戶注冊、信息修改功能。
2. 管理系統管理描述:
用戶管理:對於系統管理員提供用戶刪除、用戶查詢功能。
商品管理:實現商品列表、商品發布、商品刪除、商品修改功能。
項目收獲:在完成該項目的過程中,在老師的指導下,我們模仿struts1.3版本寫出了該電子商務平台的框架,並基於該框架自行完成了開發任務。此次開發任務的順利完成不僅加深了我對框架設計的理解,也更讓我認識到MVC框架的真正含義,對java面向對象思想也有了新的認識。對組件開發的理解也更加透徹。
工作經驗:2010年11月份在滁州城市職業學院進行為期一個月的 教育 實習。實習內容代授Vfp課程。並在教育實習期間擔任實習小組組長,協助指導老師開展工作。通過本次實習,使我親身體會到教育工作者工作的艱辛,也深深的意識到作為一個教育工作者所承擔的責任。這讓我意思到,不管做什麼事情,只要做了,就一定盡全力做好,因為,不管是對自己或者對別人,這都是一種責任。
教育經歷:
2007 / 09——2011 / 07:於安徽科技學院接受本科教育 2011 / 01——2010/ 05:於北京達內科技集團(石景山)校區接受JAVA培訓 所獲證書:
C+E國際軟體工程師Java培訓證書 高級軟體工程師 頒發單位:工信部頒發 CET4 語言技能:
英語:能閱讀一般的英文報紙和技術文檔,並能進行簡單日常對話,能在工具書或工具軟體的幫助下,閱讀和書寫較難的英文文檔以及英漢互譯。
自我評價 :
勤奮好學,能吃苦耐勞,做事善始善終、腳踏實地; 具有良好的團隊合作精神,工作積極上進;
能勇於面對困難,善於分析和解決問題,動手實踐能力強;
能承受較高的工作壓力,能出差。
有責任感和使命感。
it個人簡歷範文篇二姓 名:
出生日期:
工作年限:
手 機:
目前年薪:
戶 口:
地 址: 喬布斯 1978年10月3日 10年 13761717109 15萬 人民幣 四川 個人簡歷 性 別: 居 住 地: 電子郵件: 男 上海-浦東新區 [email protected] 上海市浦東新區楊高中路2128號
郵 編: 200135
自我評價
本人性格開朗,工作認真負責,積極上進,思維敏捷、善於創新,且適應能力強;熟練掌握了多種電腦硬體、軟體和各種 操作系統 及 網路知識 ;具有良好的交際能力,獨立的工作能力及較強的的組織能力;有豐富的軟體開發經驗和項目實施經驗,善於協調溝通,有較強的團隊合作精神。
求職意向
到崗時間:
工作性質:
目標地點:
期望薪水: 待定 全職 上海 面議 /月
目標職能: 高級軟體工程師 ;資料庫工程師/管理員 ;系統分析員 ;項目經理 ;項目執行/協調人員
工作經驗
2005/8--至今:(中國)易初蓮花連鎖超市有限公司
所屬行業: 批發/零售
資訊部 POS系統主管
維護Retalix storeline系統,解決各種問題,支持全國近百家超市的正常運營
處理門店的日常問題,支持門店的系統正常運營;
安裝、升級storeline系統,根據營運需求維護storeline的設置;
測試storeline新版本,查找和記錄storeline版本的缺點;
開發製作各種維護工具和監控工具,高效維護管理全國所有門店的POS系統;
組織培訓IT技術人員,提升團隊IT技能和高效解決問題的能力。
根據公司營運需求,協助各軟體供應商解決其軟體與POS系統的介面集成問題。
2004/5--2005/8:上海震旦辦公設備有限公司
所屬行業: 貿易/進出口
資訊部 系統分析員
本人在震旦工作期間,根據工作需要擔任過程式設計師、系統分析員及幾個項目的負責人,多次參與ERP的二次開發工作,並獨立設計與編寫過大量報表程式,多次 組織內部技術講解及技術培訓工作,協助公司同仁處理在日常工作流程中遇到的各種系統問題;參與過集團各分公司之間的VC、VOIP及的架構建設,為 海外分公司長期提供信息咨詢和技術支持;也曾根據公司業務發展需要,組織並開發出震旦自己的商品信息發布網站,為公司的信息化及無紙化建設作出了應有的貢 獻,多次被評為優秀員工,獲得公司領導和同事的一致好評。
2002/7--2004/5:亞力山卓(深圳)家私有限公司
所屬行業:
機械/設備/重工 資訊部 系統工程師
本人從加入亞力山卓(深圳)家私有限公司,根據公司需要擔任過硬體工程師,網路工程師和軟體設計師等職位,在該公司,曾有幸作為項目組長參加該公司的 Oracle 11i的導入工作,在系統導入過程中全程參與ERP各財務模組的教育訓練,全程參加D2K、DBA教育培訓工作;並最終協助IBM顧問師,為公司的ERP 項目最後的順利上線運作作出了貢獻,獲得公司領導的肯定。 教育經歷
1998/9--2002/6
武漢理工大學
信息管理和信息系統
本科
我 在校期間曾學習課程有:C語言、數據結構、電子技術、資料庫原理、計算機組織與結構、計算機硬體及介面電路設計、匯編語言程序設計、C++程序設計、VB 程序設計、Delphi程序設計、軟體工程、計算機網路原理、網路編程,網路架構、ASP、SQL Server資料庫、大學英語、高等數學等課程。 培訓經歷
2006/3--2006/5
外請專業講師
項目經理PMP培訓 Axapta,X++ ASP.Net開發訓練 Oralce
DBA,Oracle
Developer
2004/7--2004/10 ESG顧問有限公司 2004/5--2004/6
震旦華夏資訊
2002/12--2003/2 ORACLE 台灣分公司 語言
語言能力
2000,SQL/Plus
英語 熟練 IT技能 技能名稱
熟練程度 精通 精通 精通 熟練 熟練 熟練 熟練 熟練 熟練 熟練 熟練
使用時間 10年 10年 8年 8年 5年 5年 8年 6年
SQL Server Visual Basic Windows Server Oracle AIX Unix Linux LAN/ WAN
Developer/ Designer 2000 Java C++
>>>下一頁更多精彩“it行業個人簡歷範文”