當前位置:首頁 » 操作系統 » 資料庫rsk

資料庫rsk

發布時間: 2022-08-02 02:33:55

㈠ asp資料庫查詢問題

set rsk=server.createobject("adodb.recordset")
sql="select id from tolook where title="&name
rsk1.open sql,conn,1,1

上一句有問題,應該是rsk不是rsk1,下同
real1=rsk("id")
rsk1.close
set rsk1=nothing

set rsk=server.createobject("adodb.recordset")
上面這句可以省略

sql="select url from movieurl where id="&real1
rsk.open sql,conn,1,1
real=rsk("url")

rsk.close
set rsk=nothing

使用二、三次rsk是不成問題的,在第一次使用後即興關閉就可以。

㈡ ADODB.Recordset 錯誤 '800a0bcd'

在網站的根目錄下建個search.htm,內容如下
<html>
<head>
<title>搜索表單</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="search.php">
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="36%">
<div align="center">
<input type="text" name="keyword">
</div>
</td>
<td width="64%">
<input type="submit" name="Submit" value="搜索">
</td>
</tr>
</table>
</form>
</body>
</html>

二,搜索程序
再在根目錄下建個search.php 的文件,用來處理search.htm表單傳過來的數據.內容如下
<?php
//獲取搜索關鍵字
?$keyword=trim(?$_POST[「keyword」]);
//檢查是否為空
if(?$keyword==」」){
echo」您要搜索的關鍵字不能為空」;
exit;//結束程序
}
?>

這樣如果訪問者輸入的關鍵字為空時,可以做出提示。下面是遍歷所有文件。

我們可以用遞歸的方法遍歷所有的文件,可以用函數opendir,readdir,也可以用PHP Directory的類。我們現在用前者.
<?php
//遍歷所有文件的函數
function listFiles(?$dir){
?$handle=opendir(?$dir);
while(false!==(?$file=readdir(?$handle))){
if(?$file!="."&&?$file!=".."){
//如果是目錄就繼續搜索
if(is_dir("?$dir/?$file")){
listFiles("?$dir/?$file");
}
else{
//在這里進行處理
}
}
}
}

?>

在紅字的地方我們可以對搜索到的文件進行讀取,處理.下面就是讀取文件內容,並檢查內容中是否含有關鍵字?$keyword,如果含有就把文件地址賦給一個數組。
<?php
//?$dir是搜索的目錄,?$keyword是搜索的關鍵字 ,?$array是存放的數組
function listFiles(?$dir,?$keyword,&?$array){
?$handle=opendir(?$dir);
while(false!==(?$file=readdir(?$handle))){
if(?$file!="."&&?$file!=".."){
if(is_dir("?$dir/?$file")){
listFiles("?$dir/?$file",?$keyword,?$array);
}
else{
//讀取文件內容
?$data=fread(fopen("?$dir/?$file","r"),filesize("?$dir/?$file"));
//不搜索自身
if(?$file!=」search.php」){
//是否匹配
if(eregi("?$keyword",?$data)){
?$array[]="?$dir/?$file";
}
}
}
}
}
}
//定義數組?$array
?$array=array();
//執行函數
listFiles(".","php",?$array);
//列印搜索結果
foreach(?$array as ?$value){
echo "?$value"."<br> ";
}
?>

現在把這個結果和開頭的一段程序結合起來,輸入一個關鍵字,然後就會發現你的網站中的相關結果都被搜索出來了。我們現在在把它完善一下。
1,列出內容的標題

if(eregi("?$keyword",?$data)){
?$array[]="?$dir/?$file";
}
改成
if(eregi("?$keyword",?$data)){
if(eregi("<title>(.+)</title>",?$data,?$m)){
?$title=?$m["1"];
}
else{
?$title="沒有標題";
}
?$array[]="?$dir/?$file ?$title";
}
原理就是,如果在文件內容中找到<title>xxx</title>,那麼就把xxx取出來作為標題,如果找不到那麼就把標題命名未」沒有標題」.

2,只搜索網頁的內容的主題部分。
做網頁時一定會有很多html代碼在裡面,而這些都不是我們想要搜索的,所以要去除它們。我現在用正則表達式和strip_tags的配合,並不能把所有的都去掉。

?$data=fread(fopen("?$dir/?$file","r"),filesize("?$dir/?$file"));
//不搜索自身
if(?$file!=」search.php」){
//是否匹配
if(eregi("?$keyword",?$data)){
改為
?$data=fread(fopen("?$dir/?$file","r"),filesize("?$dir/?$file"));
if(eregi("<body([^>]+)>(.+)</body>",?$data,?$b)){
?$body=strip_tags(?$b["2"]);
}
else{
?$body=strip_tags(?$data);
}
if(?$file!="search.php"){
if(eregi("?$keyword",?$body)){

3,標題上加鏈接
foreach(?$array as ?$value){
echo "?$value"."<br> ";
}
改成
foreach(?$array as ?$value){
//拆開
list(?$filedir,?$title)=split(「[ ]」,?$value,」2」);
//輸出
echo "<a href=?$filedir>?$value</a>"."<br> ";
}
4防止超時
如果文件比較多,那麼防止PHP執行時間超時是必要的。可以在文件頭加上
set_time_limit(「600」);
以秒為單位,所以上面是設10分鍾為限。

所以完整的程序就是
<?php
set_time_limit("600");
//獲取搜索關鍵字
?$keyword=trim(?$_POST["keyword"]);
//檢查是否為空
if(?$keyword==""){
echo"您要搜索的關鍵字不能為空";
exit;//結束程序
}
function listFiles(?$dir,?$keyword,&?$array){
?$handle=opendir(?$dir);
while(false!==(?$file=readdir(?$handle))){
if(?$file!="."&&?$file!=".."){
if(is_dir("?$dir/?$file")){
listFiles("?$dir/?$file",?$keyword,?$array);
}
else{
?$data=fread(fopen("?$dir/?$file","r"),filesize("?$dir/?$file"));
if(eregi("<body([^>]+)>(.+)</body>",?$data,?$b)){
?$body=strip_tags(?$b["2"]);
}
else{
?$body=strip_tags(?$data);
}
if(?$file!="search.php"){
if(eregi("?$keyword",?$body)){
if(eregi("<title>(.+)</title>",?$data,?$m)){
?$title=?$m["1"];
}
else{
?$title="沒有標題";
}
?$array[]="?$dir/?$file ?$title";
}
}
}
}
}
}
?$array=array();
listFiles(".","?$keyword",?$array);
foreach(?$array as ?$value){
//拆開
list(?$filedir,?$title)=split("[ ]",?$value,"2");
//輸出
echo "<a href=?$filedir target=_blank>?$title </a>"."<br> ";
}
?>

到此為止,你已經做好了自己的一個搜索引擎,你也可以通過修改內容處理部分來改進它,可以實現搜索標題,或者搜索內容的功能。也可以考慮分頁。這些都留給你自己吧。

這里說明一下用preg_match代替eregi,會快很多。這里只是為了通俗易懂,所以使用了常用的eregi.

㈢ 帝國時代2Genied2修改器單位代碼看不懂啊求救啊

我把我給別人寫的直接復制了,所有內容全為真實.
下面這些是GeniED2代碼,GeniED2不能增加科技單位,以及不能修改再某一個建築中生產英雄等.
12 BRKS 軍營
498 BRKS2 軍營 (封建時代)
132 BRKS3 軍營 (城堡時代)
20 BRKS4 軍營 (帝王時代)
74 SPRMN 民兵
152 SPRMN_D 民兵 (死亡)
75 SWDMN 裝甲步兵
154 SWDMN_D 裝甲步兵 (死亡)
77 THSWD 長劍兵
180 THSWD_D 長劍兵 (死亡)
473 HTHSW 雙手劍兵
500 HTHSW_D 雙手劍兵 (死亡)
567 HEROI 劍兵勇士
568 HEROI_D 劍兵勇士 (死亡)
93 PKEMN 長槍兵
140 PKEMN_D 長槍兵 (死亡)
358 ISPKM 重裝長槍兵
501 ISPKM_D 重裝長槍兵 (死亡)
359 HLBDM 戟兵
502 HLBDM_D 戟兵 (死亡)
751 EAGLE 鷹勇士
754 EAGLE_D 鷹勇士 (死亡)
752 EAGLEX 精銳鷹勇士
754 EAGLE_D 精銳鷹勇士 (死亡)
759 BHUSK 哥德衛隊 (軍營)
62 GBRSK_D 哥德衛隊 (軍營) (死亡)
761 BHUSKX 精銳哥德衛隊 (軍營)
62 GBRSK_D 精銳哥德衛隊 (軍營) (死亡)
馬廄單位
101 STBL 馬廄
86 STBL3 馬廄 (城堡時代)
153 STBL4 馬廄 (帝王時代)
448 SCOUT 斥候騎兵
449 SCOUT_D 斥候騎兵 (死亡)
546 LTCAV 輕騎兵
547 LTCAV_D 輕騎兵 (死亡)
441 HUSSAR 匈牙利輕騎兵
480 HUSSAR_D 匈牙利輕騎兵 (死亡)
38 KNGHT 騎士
111 KNGHT_D 騎士 (死亡)
283 PALDN 騎兵
139 PALDN_D 騎兵 (死亡)
569 HEROC 游俠
570 HEROC_D 游俠 (死亡)
329 CVLRY 駱駝騎兵
494 CVLRY_D 駱駝騎兵 (死亡)
330 HCLRY 重裝駱駝騎兵
495 HCLRY_D 重裝駱駝騎兵 (死亡)
射箭場單位
87 ARRG 射箭場
10 ARRG3 射箭場 (城堡時代)
14 ARRG4 射箭場 (帝王時代)
4 ARCHR 弓兵
3 ARCHR_D 弓兵 (死亡)
363 MRARC 箭 (弓兵)
466 MFARC 箭 (化學) (弓兵)
24 CARCH 弩兵
26 CARCH_D 弩兵 (死亡)
364 MRCOM 箭 (弩兵)
375 MFCOM 箭 (化學) (弩兵)
492 ACOAR 強弩兵
496 ACOAR_D 強弩兵 (死亡)
507 MRACA 箭 (強弩兵)
519 MFACA 箭 (化學) (強弩兵)
後面的寫不下了,給我郵箱,我給你發完整的代碼編譯和可增加科技,單位,以及修改再某一個建築中生產英雄等一切東西的資料庫修改器------Advanced Genie Editor(AGE).

㈣ VB怎麼連接 SQL 資料庫

一個簡單的方法:
首先,建立程序公共模塊輸入以下代碼:
Public conn As New ADODB.Connection
'全局變數 rst 指針
Public rst As New ADODB.Recordset
'全局調用函數 打開資料庫
Public Function openconn()
conn.ConnectionString = "連接信息"
'此連接信息最簡單的生成辦法:
'在任意窗口下建立一新ADODC控制項
'選擇控制項屬性,通用頁,使用連接字元串,生成(U)
'利用該向導生成出字元串,然後將該字元串復制到"連接信息"中即可
conn.Open
End Function
'全局調用函數 關閉資料庫
Public Function closeconn()
If conn.State = 1 Then
conn.Close
Set conn = Nothing
End If
End Function

然後在窗體文件中可以使用的函數:
打開資料庫:openconn
注意:此函數為自定義函數,無參數,定義在公共模塊中!
建立數據表連接:Set rst = conn.Execute("select * from 數據表名")
如做登陸頁可以這樣判斷用戶名密碼:
Text1.Text = RTrim(rst.Fields("id")) And Text2.Text = RTrim(rst.Fields("password"))
注:其中Text1.Text為輸入用戶名TextBOX Text2.Text為輸入密碼TextBOX
數據表中 id 為保存用戶名 password 為保存密碼!此方法為非加密方法!
關閉資料庫函數:
closeconn
Set rst = Nothing
注:此兩行,必須在打開資料庫的情況下使用!並且每打開一次資料庫後必須先使用此兩句將資料庫關閉後才可打開另一資料庫表文件!!!!!否則程序報錯終止!
添加新數據函數
rst.AddNew
rst("欄位名1") = Text1.Text
rst("欄位名2") = Text2.Text
rst.Update
刪除數據函數
rst.Delete
注:使用此函數前,必須保證資料庫指針函數rst指向需刪除數據,移動rst指針可以使用函數:rst.MoveNext或rst.MoveLast
更新數據函數
rst.Open "update 數據表名 set 欄位1='" + Text1.Text + "',欄位2='" + Text2.Text + "' where id='" + Text3.Text + "'", conn, 1, 3
注,其中 where id = 為更新特定數據表的查找!
如果熟悉SQL語句,還可編寫出其他方式的查找,這里就不多做介紹了!

㈤ accesS資料庫 客戶端工作過多

估計是打開的資料庫鏈接都沒有關閉或者同時連接數過多(據說一般大於50個會出現錯誤)造成的資源緊缺哈...

解決方法:

1) 優化代碼, 每個conn用完都要關閉....

2) 如果是同時在線人數過多造成的這個問題, 建議換資料庫...SQL SERVER...

㈥ 如何更好的利用Oracle全文檢索

不使用Oracle text功能,也有很多方法可以在Oracle資料庫中搜索文本.可以使用標準的INSTR函數和LIKE操作符實現。
SELECT *FROM mytext WHERE INSTR (thetext, 'Oracle') > 0;
SELECT * FROM mytext WHERE thetext LIKE '%Oracle%';

有很多時候,使用instr和like是很理想的, 特別是搜索僅跨越很小的表的時候.然而通過這些文本定位的方法將導致全表掃描,對資源來說消耗比較昂貴,而且實現的搜索功能也非常有限,因此對海量的文本 數據進行搜索時,建議使用oralce提供的全文檢索功能 建立全文檢索的步驟步驟一檢查和設置資料庫角色首先檢查資料庫中是否有CTXSYS用戶和CTXAPP腳色。如果沒有這個用戶和角色,意味著你的資料庫 創建時未安裝intermedia功能。你必須修改資料庫以安裝這項功能。默認安裝情況下,ctxsys用戶是被鎖定的,因此要先啟用ctxsys的用 戶。 步驟二賦權在ctxsys用戶下把ctx_ddl的執行許可權賦於要使用全文索引的用戶,例:
grant execute on ctx_ddl to pomoho;

步驟三設置詞法分析器(lexer)
Oracle實現全文檢索,其機制其實很簡單。即通過Oracle專利的詞法分析器(lexer),將文章中所有的表意單元(Oracle 稱為 term)找出來,記錄在一組 以dr$開頭的表中,同時記下該term出現的位置、次數、hash 值等信息。檢索時,Oracle 從這組表中查找相應的term,並計算其出現頻率,根據某個演算法來計算每個文檔的得分(score),即所謂的『匹配率』。而lexer則是該機制的核 心,它決定了全文檢索的效率。Oracle 針對不同的語言提供了不同的 lexer, 而我們通常能用到其中的三個:
n basic_lexer: 針對英語。它能根據空格和標點來將英語單詞從句子中分離,還能自動將一些出現頻率過高已經失去檢索意義的單詞作為『垃圾』處理,如if , is 等,具有較高的處理效率。但該lexer應用於漢語則有很多問題,由於它只認空格和標點,而漢語的一句話中通常不會有空格,因此,它會把整句話作為一個 term,事實上失去檢索能力。以『中國人民站起來了』這句話為例,basic_lexer 分析的結果只有一個term ,就是『中國人民站起來了』。此時若檢索『中國』,將檢索不到內容。
n chinese_vgram_lexer: 專門的漢語分析器,支持所有漢字字元集(ZHS16CGB231280 ZHS16GBK ZHT32EUC ZHT16BIG5 ZHT32TRIS ZHT16MSWIN950 ZHT16HKSCS UTF8 )。該分析器按字為單元來分析漢語句子。『中國人民站起來了』這句話,會被它分析成如下幾個term: 『中』,『中國』,『國人』,『人民』,『民站』,『站起』,起來』,『來了』,『了』。可以看出,這種分析方法,實現演算法很簡單,並且能實現『一網打 盡』,但效率則是差強人意。
n chinese_lexer: 這是一個新的漢語分析器,只支持utf8字元集。上面已經看到,chinese vgram lexer這個分析器由於不認識常用的漢語詞彙,因此分析的單元非常機械,像上面的『民站』,『站起』在漢語中根本不會單獨出現,因此這種term是沒有 意義的,反而影響效率。chinese_lexer的最大改進就是該分析器 能認識大部分常用漢語詞彙,因此能更有效率地分析句子,像以上兩個愚蠢的單元將不會再出現,極大 提高了效率。但是它只支持 utf8, 如果你的資料庫是zhs16gbk字元集,則只能使用笨笨的那個Chinese vgram lexer.
如果不做任何設置,Oracle 預設使用basic_lexer這個分析器。要指定使用哪一個lexer, 可以這樣操作:
第一. 當前用戶下下建立一個preference(例:在pomoho用戶下執行以下語句)
exec ctx_ddl.create_preference ('my_lexer', 'chinese_vgram_lexer');

第二. 在建立全文索引索引時,指明所用的lexer:
CREATE INDEX myindex ON mytable(mycolumn) indextype is ctxsys.context

parameters('lexer my_lexer');

這樣建立的全文檢索索引,就會使用chinese_vgram_lexer作為分析器。
步驟四建立索引
通過以下語法建立全文索引
CREATE INDEX [schema.]index on [schema.]table(column) INDEXTYPE IS ctxsys.context [ONLINE]

LOCAL [(PARTITION [partition] [PARAMETERS('paramstring')]

[, PARTITION [partition] [PARAMETERS('paramstring')]])]

[PARAMETERS(paramstring)] [PARALLEL n] [UNUSABLE];
例:

CREATE INDEX ctx_idx_menuname ON pubmenu(menuname)
indextype is ctxsys.context parameters('lexer my_lexer')

步驟五使用索引
使用全文索引很簡單,可以通過:
select * from pubmenu where contains(menuname,'上傳圖片')>0
全文索引的種類
建立的Oracle Text索引被稱為域索引(domain index),包括4種索引類型:
l CONTEXT
2 CTXCAT
3 CTXRULE
4 CTXXPATH
依據你的應用程序和文本數據類型你可以任意選擇一種。
對多欄位建立全文索引
很多時候需要從多個文本欄位中查詢滿足條件的記錄,這時就需要建立針對多個欄位的全文索引,例如需要從pmhsubjects(專題表)的 subjectname(專題名稱)和briefintro(簡介)上進行全文檢索,則需要按以下步驟進行操作:
Ø 建議多欄位索引的preference
以ctxsys登錄,並執行:
EXEC ctx_ddl.create_preference(' ctx_idx_subject_pref',

'MULTI_COLUMN_DATASTORE');

Ø 建立preference對應的欄位值(以ctxsys登錄)

EXEC ctx_ddl.set_attribute(' ctx_idx_subject_pref ','columns','subjectname,briefintro');

Ø 建立全文索引
CREATE INDEX ctx_idx_subject ON pmhsubjects(subjectname)
INDEXTYPE ISctxsys.CONTEXT PARAMETERS('DATASTORE ctxsys.ctx_idx_subject_pref lexer my_lexer')
Ø 使用索引
select * from pmhsubjects where contains(subjectname,'李宇春')>0

全文索引的維護
對於CTXSYS.CONTEXT索引,當應用程序對基表進行DML操作後,對基表的索引維護是必須的。索引維護包括索引同步和索引優化。
在索引建好後,我們可以在該用戶下查到Oracle自動產生了以下幾個表:(假設索引名為myindex):
DR$myindex$I、DR$myindex$K、DR$myindex$R、DR$myindex$N其中以I表最重要,可以查詢一下該表, 看看有什麼內容:
SELECT token_text, token_count FROM dr$i_rsk1$I WHERE ROWNUM <= 20;

這里就不列出查詢接過了。可以看到,該表中保存的其實就是Oracle 分析你的文檔後,生成的term記錄在這里,包括term出現的位置、次數、hash值等。當文檔的內容改變後,可以想見這個I表的內容也應該相應改變, 才能保證Oracle在做全文檢索時正確檢索到內容(因為所謂全文檢索,其實核心就是查詢這個表)。這就用到sync(同步) 和 optimize(優化)了。
同步(sync): 將新的term 保存到I表;
優化(optimize): 清除I表的垃圾,主要是將已經被刪除的term從I表刪除。
當基表中的被索引文檔發生insert、update、delete操作的時候,基表的改變並不能馬上影響到索引上直到同步索引。可以查詢視圖 CTX_USER_PENDING查看相應的改動。例如:
SELECT pnd_index_name, pnd_rowid,
TO_CHAR (pnd_timestamp, 'dd-mon-yyyy hh24:mi:ss') timestamp
FROM ctx_user_pending;
該語句的輸出類似如下:
PND_INDEX_NAME PND_ROWID TIMESTAMP
------------------------------ ------------------ --------------------
MYINDEX AAADXnAABAAAS3SAAC 06-oct-1999 15:56:50

同步和優化方法: 可以使用Oracle提供的ctx_ddl包同步和優化索引
一. 對於CTXCAT類型的索引來說, 當對基表進行DML操作的時候,Oracle自動維護索引。對文檔的改變馬上反映到索引中。CTXCAT是事務形的索引。
索引的同步
在對基表插入,修改,刪除之後同步索引。推薦使用sync同步索引。語法:
ctx_ddl.sync_index(
idx_name IN VARCHAR2 DEFAULT NULL
memory IN VARCHAR2 DEFAULT NULL,
part_name IN VARCHAR2 DEFAULT NULL
parallel_degree IN NUMBER DEFAULT 1);
idx_name 索引名稱
memory 指定同步索引需要的內存。默認是系統參數DEFAULT_INDEX_MEMORY 。

指定一個大的內存時候可以加快索引效率和查詢速度,且索引有較少的碎片
part_name 同步哪個分區索引。
parallel_degree 並行同步索引。設置並行度。
例如:
同步索引myindex:Exec ctx_ddl.sync_index ('myindex');
實施建議:建議通過oracle的job對索引進行同步
索引的優化
經常的索引同步將會導致你的CONTEXT索引產生碎片。索引碎片嚴重的影響了查詢的反應速度。你可以定期優化索引來減少碎片,減少索引大小,提高 查詢效率。
當文本從表中刪除的時候,Oracle Text標記刪除的文檔,但是並不馬上修改索引。因此,就的文檔信息占據了不必要的空間,導致了查詢額外的開銷。你必須以FULL模式優化索引,從索引中 刪除無效的舊的信息。這個過程叫做垃圾處理。當你經常的對表文本數據進行更新,刪除操作的時候,垃圾處理是很必要的。
exec ctx_ddl.optimize_index ('myidx', 'full');
實施建議:每天在系統空閑的時候對全 文索引進行相應的優化,以提高檢索的效率

㈦ VFP 資料庫程序

USE RS
K=1
_HGZ=工資___
DO WHILE .NOT.EOF()
IF HGZ<工資
HGZ=工資
k=recno()
ENDIF
___skip_______
ENDDO
DISPLAY____record k___
USE

㈧ 如何用VF創建一個工資管理系統 可以進行簡單的操作就可以

你也要做啊,我去年做過了,和4個同學合作的,我把代碼發給你:

有問題聯系我 QQ 280385115

代碼設計

一.為了達到數據錄入、工資信息管理、信息查詢、統計的方便快速,可以設計以下三種代碼:

人員信息編碼:將所有人員按部門分為5大類(1位字母),每大類再按人員類別分為若干小類(1位字母),每小類中再根據每個工作人員在本部門的的編號(4位數字)進行區分。編碼如下:
部門分類: 總公司 ———————— A
一車間 ———————— Y
二車間 ———————— E
機修車間 ——————— J
廠管理部門 —————— C
福利部門 ——————— F
人員分類: 生產工人———S 管理人員————G
輔助生產人員———Z 福利人員————F
工作人員在本部門的編號——————XXXXXX(6位數字)
例如小強的編碼:ES000001。說明小強是二車間的生產工人,在車間的編號為000001。

二.統計用信息編碼:為了統計報表的計算機處理,對於對實發工資的來源進行編碼。如下是部分來源類別編碼:
實發工資 ———— _0
基本工資 ———— _1
物價補貼 ―――― _2
地方補貼 ―――― _3
房租 ―――――― _4
住房公積金 ――― _5
水電氣費 ―――― _6
病事假扣款 ――― _7
備注 ―――――― _8

三.結算用信息編碼。以上編碼具體用法為:
部門代碼+人員類別代碼+工作人員編號+工資來源
例如:ES000001_3表示二車間編號為000001的生產工人(小強)本月的地方補貼。

數據字典
1. 數據流的描述:
數據流編號:D-01
數據流名稱:人事變動表
數據流簡述:人事科制定的公司人事變動表
數據流來源:人事科
數據流去向:抄寫
數據流組成:職工號+姓名+部門號+基本工資+物價補貼+地方補貼+房租+住房公積金+備注
數據流量:1次/月
高峰流量:1次/月

數據流編號:D-02
數據流名稱:本月工資發放清單
數據流簡述:財務科據上月工資發放清單和抄寫人事變動表制定的工資發放清單
數據流來源:抄寫
數據流去向:填扣款
數據流組成:職工號+姓名+部門號+基本工資+物價補貼+地方補貼+房租+住房公積金+備注
數據流量:1次/月
高峰流量:1次/月

數據流編號:D-03
數據流名稱:扣款清單
數據流簡述:總務科建立的扣款清單
數據流來源:總務科
數據流去向:填扣款
數據流組成:職工號+姓名+部門號+水電氣費+病事假扣款
數據流量:1次/月
高峰流量:1次/月

數據流編號:D-04
數據流名稱:本月工資發放清單
數據流簡述:財務科據上月工資發放清單並填寫本月工資扣款清單和抄寫人事變動表後制定的工資發放清單
數據流來源:填扣款
數據流去向:填寫並計算應得工資
數據流組成:工資號+職工號+姓名+部門號+水電氣費+病事假扣款+基本工資+物價補貼+地方補貼+房租+住房公積金+備注
數據流量:1次/月
高峰流量:1次/月

數據流編號:D-05
數據流名稱:本月工資清單
數據流簡述:填寫並計算應得工資後的工資清單
數據流來源:填寫並計算應得工資
數據流去向:發放員
數據流組成:工資號+職工號+姓名+部門號+基本工資+物價補貼+地方補貼+房租+住房公積金+備注+水電氣費+病事假扣款+實發工資
數據流量:1次/月
高峰流量:1次/月

數據流編號:D-06
數據流名稱:工資台帳
數據流簡述:填寫並計算應得工資後以供統計用的工資台帳
數據流來源:填寫並計算應得工資
數據流去向:統計
數據流組成:工資號+職工號+姓名+部門號+基本工資+物價補貼+地方補貼+房租+住房公積金+備注+水電氣費+病事假扣款+實發工資
數據流量:1次/月
高峰流量:1次/月

數據流編號:D-07
數據流名稱:上月工資發放清單
數據流簡述:根據統計發放的上月工資發放清單
數據流來源:工資月報表
數據流去向:抄寫
數據流組成:工資號+職工號+姓名+部門號+基本工資+物價補貼+地方補貼+房租+住房公積金+備注+水電氣費+病事假扣款+實發工資
2. 處理邏輯的描述:
處理邏輯編號:P-01
處理邏輯名稱:抄寫
處理邏輯簡述:抄寫人事科制定的人事變動表
輸入的數據流:人事變動表 上月工資發放清單
處理描述:人事科送來人事變動表後,抄寫其人事變動情況,並在備注欄上標明具體事項並根據上也工資發放清單制定人事變動後的本月工資發放清單,交給填扣款處理
輸出的數據流:本月工資發放清單
處理頻率:1次/月

處理邏輯編號:P-02
處理邏輯名稱:填扣款
處理邏輯簡述:填寫總務科制定的扣款清單
輸入的數據流:本月工資發放清單,扣款清單
處理描述:根據總務科送來的扣款清單,在抄寫之後的工資發放單上填寫扣款事項和金額,並交由填寫並計算應得工資處理
輸出的數據流:本月工資發放清單
處理頻率:1次/月
處理邏輯編號:P-03
處理邏輯名稱:填寫並計算應得工資
處理邏輯簡述:根據填扣款後的本月工資發放清單並計算應得工資
輸入的數據流:本月工資發放清單
處理描述:根據抄寫並填扣款之後的工資發放清單填寫並計算職工此月應得工資,並制定一份本月工資清單交給發放員發放給工人,另一份工資台帳交給統計部門統計
輸出的數據流:本月工資發放清單 工資台帳
處理頻率:1次/月

處理邏輯編號:P-04
處理邏輯名稱:統計
處理邏輯簡述:統計工資台帳
輸入的數據流:工資台帳
處理描述;根據送來的工資台帳進行統計匯編,存放一份在工資月報表中以供下月工資發放清單用,存放另一份到工資查詢中以供職工查詢
輸出的數據流:月工資數據 工資綜合數據
處理頻率:1次/月
3. 數據存儲的描述
數據存儲編號:F-01
數據存儲名稱:工資月報表
數據存儲簡述:統計本月工資台帳後產生的月報表
數據存儲組成:工資號+職工號+姓名+部門號+基本工資+物價補貼+地方補貼+房租+住房公積金+備注+實發工資
關鍵字:職工號+部門
相關聯的處理:P-01 P-04

數據存儲編號:F-02
數據存儲名稱:工資查詢
數據存儲簡述:根據工資台帳統計形成的工資綜合查詢數據
數據存儲組成:工資號+職工號+姓名+部門號+基本工資+物價補貼+地方補貼+房租+住房公積金+備注+水電氣費+病事假扣款+實發工資
關鍵字:職工號+部門
相關聯的處理:P-04
4. 外部實體的描述:
外部實體編號:S-01
外部實體名稱:人事科
外部實體簡述:管理人事變動,制定人事變動表
輸入的數據流:/
輸出的數據流:D-01

外部實體編號:S-02
外部實體名稱:總務科
外部實體簡述:匯總扣款情況 制定扣款清單
輸入的數據流:/
輸出的數據流:D-03

外部實體編號:S-03
外部實體名稱:發放員
外部實體簡述:發放本月工資
輸入的數據流:D-05
輸出的數據流:/

目 錄

問題/項目概述•••••••••••••••••••••••••••••••••••••••••••• 1
項目工作計劃••••••••••••••••••••••••••••••••••••••••••••• 1
管理業務流程圖••••••••••••••••••••••••••••••••••••••••• 3
數據流程圖••••••••••••••••••••••••••••••••••••••••••••••••• 4
數據字典••••••••••••••••••••••••••••••••••••••••••••••••••••• 5
E——R圖••••••••••••••••••••••••••••••••••••••••••••••••••• 10
功能模塊圖••••••••••••••••••••••••••••••••••••••••••••••••• 12
代碼設計••••••••••••••••••••••••••••••••••••••••••••••••••••• 13
資料庫(表)設計••••••••••••••••••••••••••••••••••••• 14
IPO設計••••••••••••••••••••••••••••••••••••••••••••••••••••• 16
源程序清單••••••••••••••••••••••••••••••••••••••••••••••••• 21
總結和體會••••••••••••••••••••••••••••••••••••••••••••••••• 28

職工工資管理系統
一:問題/項目及其概述
二:項目工作計劃
三:管理業務流程分析
業務流程圖

四:數據流程圖

D7
月 工資
工資 綜合
數據 數據

D2 D6

D4

D3 D5

五:數據字典

六:E—R圖

屬性:
人事科(科室號,主任,電話)
總務科(科室號,主任,電話)
財務科(科室號,主任,電話)
公司人事變動表(職工號,姓名,部門號,基本工資,
物價補貼,地方補貼,房租,房公積金,備注)
扣款清單(職工號,姓名,部門號,水電氣費,病事假扣款)
工資發放清單(工資號,職工號,姓名,部門號,基本工資,
物價補貼,地方補貼,房租,房公積金,
水電氣費,病事假扣款,實發工資)
工資台賬(同上)
職工(職工號,姓名,性別)
部門(部門號,部門名稱,負責人,職工號)
工資發放員(姓名,性別)

七:功能模塊圖

系統實現的功能:1、系統數據初始化
2、員工工資基本信息更新
3、員工工資計算
4、工資報表列印
5、工資報表查詢,統計
八:代碼設計
為了達到數據錄入、工資信息管理、信息查詢、統計的方便快捷,可以設計以下三種代碼:
(1) 人員信息碼:將所有人員按部門分為五大類(1位字母),每大類在按人員類別分類若干小類(1位字母),每小類中在根據每個工作人員在本部門的編號(4位數字)進行區分。編碼如下:
部門分類: 總公司------------------A
一車間------------------Y
二車間------------------E
機修車間---------------J
廠管理部門------------C
福利部門---------------F
人員分類: 生產人員---------------S 管理人員-----------G
輔助生產人員--------Z 福利人員-----------F
工作人員在本部門的編號------------------------XXXXXX(六位數字)
例如小強的編碼:ES000001。說明小強是二車間的生產工人,車間編號為000001。
(2) 統計用信息編碼:為了統計報表的計算機處理,對於對實發工資的來源進行編碼。如下是部分來源類別編碼:
實發工資———— -0
基本工資———— -1
物價補貼———— -2
地方補貼———— -3
房租—————— -4
住房公積金——— -5
水電氣費———— -6
病事假扣款——— -7
備注—————— -8
(3) 結算用信息編碼。以上編碼具體用法為:
部門編碼+人員類別編碼+工作人員編碼+工資來源
例如:ES000001-3表示二車間編號為000001的工作工人(小強)本月的地方補貼。
九:資料庫(表)設計
(1) 人事科文件——rsk.dbf

欄位 欄位名稱 類型 寬度 小數 說明
1 KSH C 4 科室號
2 ZR C 8 主任
3 DH C 8 電話
(2)總務科文件夾——zwk.dbf

欄位 欄位名稱 類型 寬度 小數 說明
1 KSH C 4 科室號
2 ZR C 8 主任
3 DH C 8 電話
(3)財務科文件——cwk.dbf
欄位 欄位名稱 類型 寬度 小數 說明
1 KSH C 4 科室號
2 ZR C 8 主任
3 DH C 8 電話
(4) 公司人事變動表數據文件——rsbd.dbf
欄位 欄位名稱 類型 寬度 小數 說明
1 ZGH C 6 職工號
2 XM C 8 姓名
3 BMH C 4 部門號
4 JBGZ N 7 2 基本工資
5 WJBT N 7 2 物價補貼
6 DFBT N 7 2 地方補貼
7 FZ N 7 2 房租
8 FGJJ N 7 2 房公積金
9 BZ Memo 備注
(5) 扣款清單數據文件——kkqd.dbf
欄位 欄位名稱 類型 寬度 小數 說明
1 ZGH C 6 職工號
2 XM C 8 姓名
3 BMH C 4 部門號
4 SDQF N 7 2 水電氣費
5 BSJ N 7 2 病事假扣款
(6)工資發放清單數據文件——gzff.dbf
欄位 欄位名稱 類型 寬度 小數 說明
1 GZH C 6 工資號
2 ZGH C 6 職工號
3 XM C 8 姓名
4 BMH C 4 部門號
5 JBGZ N 7 2 基本工資
6 WJBT N 7 2 物價補貼
7 DFBT N 7 2 地方補貼
8 FZ N 7 2 房租
9 FGJJ N 7 2 房公積金
10 SDQF N 7 2 水電氣費
11 BSJ N 7 2 病事假扣款
12 SFGZ N 8 2 實發工資
(7)工資台賬數據文件——gztz.dbf
欄位 欄位名稱 類型 寬度 小數 說明
1 GZH C 6 工資號
2 ZGH C 6 職工號
3 XM C 8 姓名
4 BMH C 4 部門號
5 JBGZ N 7 2 基本工資
6 WJBT N 7 2 物價補貼
7 DFBT N 7 2 地方補貼
8 FZ N 7 2 房租
9 FGJJ N 7 2 房公積金
10 SDQF N 7 2 水電氣費
11 BSJ N 7 2 病事假扣款
12 SFGZ N 8 2 實發工資
(8)工資發放員輔助文件——ffy.dbf
欄位 欄位名稱 類型 寬度 小數 說明
1 XM C 8 姓名
2 XB C 2 性別
(9)職工文件——ZG.dbf
欄位 欄位名稱 類型 寬度 小數 說明
1 ZGH C 6 職工號
2 XM C 8 姓名
3 XB C 2 性別
(10)部門文件——BM.dbf
欄位 欄位名稱 類型 寬度 小數 說明
1 RMH C 4 部門號
2 BMMC C 10 部門名稱
3 FZR C 6 負責人
4 ZGH C 6 職工號

十:IPO設計(輸入、處理、輸出)
主界面:

建立:

查詢:

統計:

列印:

十一:源程序清單
十二:總結和體會

㈨ ASP代碼同名用戶不許注冊的問題

經常有網友找我要注冊即時提示系統,為了更好的讓朋友們明白,今天特別整理了一份ASP+ajax的注冊提示驗證功能最完整的一套代碼

主要有功能:點擊查看效果演示

1、注冊時驗證資料庫用戶名是否存在。

2、輸入密碼時提示密碼強度和驗證2次密碼輸入是否一樣。

3、注冊時驗證資料庫聯系郵箱是否存在。

4、注冊時驗證用戶輸入的驗證碼和系統產生的驗證碼是否一致。

5、對輸入中文驗證

6、QQ號碼驗證

7、身份證號碼驗證

㈩ ASP問題,代碼(分頁的)估計有點問題,高手幫看一下 100分

太汗了......偶沒看樓主的代碼,把我自己的貼出來分享一下.(做的時候剛把asp看過一遍,有很多東西沒有處理好)

//ad_conn.asp

<%
'建立一個資料庫連接
dim dbname,cnstr,ad_conn,ad_cmd,ad_rs,ad_sql
dbname= "ad_db.mdb"
cnstr= "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(MyDbPath & dbname)
Set ad_conn = Server.CreateObject("ADODB.Connection")
ad_conn.open cnstr
If Err Then
err.Clear
Set ad_conn = Nothing
Response.Write "資料庫連接出錯,請檢查連接字串。"
Response.End
End If
'建立一個命令對象
Set ad_cmd= Server.CreateObject("ADODB.Command")
ad_cmd.ActiveConnection = ad_conn
'建立一個數據集對象
Set ad_rs = Server.CreateObject("ADODB.RecordSet")
%>

//ad_const.asp

<%

'變數定義
dim ad_username,ct,type_count
dim count_i
dim ad_dvrs,ad_array'定義變數用於存儲對dvbbs資料庫的查詢結果
'--------------------------類型定義開始----------------
ad_sql="select * from [ad_type]"
ad_rs.open ad_sql,ad_conn,1,1

dim ad_types(55)'系統最多允許55種的廣告分類
type_count=ad_rs.recordcount'讀入廣告類型數
for ct=1 to type_count
ad_types(ct)=ad_rs("ad_types")
ad_rs.movenext
next
ad_rs.close
'--------------------------類型定義結束----------------
'###################################################################自己修改部分
dim adminname'管理文件名字
adminname="ad_admin.asp"
'###################################################################自己修改部分
'-------------------------得到系統數據
ad_sql="select * from [sys_settings]"
ad_rs.open ad_sql,ad_conn,1,1

dim maxad'個人最大廣告數
'maxad=5
maxad=ad_rs("maxad")

dim tj_index'是否統計列表信息,如果統計會減慢速度,設置為1時會統計
'tj_index=0
tj_index=ad_Rs("tj_index")

dim page_count'每頁顯示的廣告數,設置為0時系統會崩潰
'page_count=5
page_count=ad_rs("page_count")

dim ad_url'系統所在的目錄,以斜杠結尾
'ad_url="http://localhost/asp/"
ad_url=ad_rs("ad_url")

dim sys_maxad'系統最大廣告數
'sys_maxad=100
sys_maxad=ad_rs("sys_maxad")

dim show_titlemax'展示廣告的時候,廣告名稱的最大顯示數,確保顯示數據的長度一致性,建議為偶數
'show_titlemax=20
show_titlemax=ad_Rs("show_titlemax")

dim ad_moneycost
'ad_moneycost=100'每發一條廣告,用戶的金錢數的減少量
ad_moneycost=ad_rs("ad_moneycost")

dim tj_switch

tj_switch=ad_rs("tj_switch")

ad_Rs.close
%>

//ad_dvfun.asp

<%
'和dvbbs資料庫有關的函數文件
'此文件應該在ad_dvfun.asp後包含
'--------------------------------得到用戶金錢的函數
function get_usermoney(thename)
ad_sql="select userwealth from [dv_user] where username='"&thename&"'"
set ad_dvrs=dvbbs.execute(ad_sql)
if not ad_dvrs.eof then
ad_array=ad_dvrs.getrows(-1)
get_usermoney=ad_array(0,0)
else
get_usermoney=0
end if
end function
'-------------------------------設置用戶的金錢變化的過程為
sub set_usermoney(thename,bianhua)

dim ad_kaishi
ad_kaishi=get_usermoney(thename)
ad_kaishi=ad_kaishi+bianhua

ad_sql="update [dv_user] set userwealth="&ad_kaishi&" where username='"&thename&"'"
set ad_dvrs=dvbbs.execute(ad_sql)'變化

end sub
%>

//ad_fun.asp

<%
'和廣告資料庫有關的函數文件
'使用的網頁必須包含文件ad_conn.asp,ad_const.asp,且本文件必須在這些文件之後
'顯示系統公告
sub show_anno()
ad_sql="select * from anno where flag=1"
ad_rs.open ad_sql,ad_conn,1,1
ct=ad_rs.recordcount
if not ct=0 then
dim kk
Randomize
kk=Int(ad_rs.recordcount*Rnd)
if kk>ct-1 then
kk=ct-1
end if
if kk<0 then
kk=0
end if
ad_rs.move kk
response.write "<table width=150 vlign=top>"
response.write "<tr valign=top><td align=center><b>系統公告</b></td></tr>"
response.write "<tr><td>"&ad_rs("content")&"</td></tr>"
response.write "</table>"
end if
ad_rs.close
end sub

'##############################自己修改1:網站鏈接
sub show_bar()
response.write "<table align=left bgcolor='#ffff80'><tr><td align=left>"
response.write "<a href='http://www.tianyaju.com'>網站主頁</a></td><td>"
response.write "<a href='http://www.tianyaju.com/bbs'>自由論壇</a></td>"
response.write "</tr></table>"
end sub

'友情鏈接,未使用,升級時編寫
sub show_friend()
end sub
'##############################自己修改2:版權信息
sub show_right()
response.write "<hr><center><font face=Verdana, Arial, Helvetica, sans-serif size=5>CopyRight 2006 <b>www.tianyaju<font color=#CC0000>.com</font></b> </font><a href=""http://www.miibeian.gov.cn""><font color=red>蜀ICP備05022644號</font></a><br><font size=5>Designed By:<a href='http://www.tianyaju.com'><font color=#00FF99>BlackMatrix</font></a> WebMaster's Email:<a href=""mailto:[email protected]""><font color=#00FF99>[email protected]</font></a></center>"
end sub
'##############################自己修改3:統計代碼
sub show_tjdm()
if tj_switch=1 then
response.write "<center>"
response.write "統計代碼"'沒有可以設置此過程為空
'response.write "<script language=""javascript"" type=""text/javascript"" src=""http://c.dx04.51.la//j/632.js""></script><noscript><a href=""http://www.51.la/?s=3104&id=632"" target=""_blank""><img alt=""51.la Free Site Stats"" src=""http://c.dx04.51.la//s.asp?siteid=632&t=img"" border=""0"" /></a></noscript>"
response.write "</center>"
end if
end sub

'顯示廣告系統信息,敬請保留
sub show_liang()
response.write "<table width='100%' bgcolor='#ffff80'><tr><td align=center >"
response.write "天涯自助廣告系統"
response.write "(測試版)  Based On Dvbbs 7.1.0"
response.write " Designed By:<a href='http://www.tianyaju.com'><font color=#00FF99>BlackMatrix</font></a> "
response.write "</td></td></table>"
end sub

'顯示系統信息
sub show_sysinfo()
ad_sql="select * from sys_info"
ad_rs.open ad_sql,ad_conn,1,1
dim n_user,n_ad,n_view
n_user=ad_rs("sys_usercount")
n_ad=ad_rs("sys_adcount")
n_view=ad_rs("sys_view")
ad_rs.close
response.write "<table width='100%' bgcolor='#ffff80'><tr><td align=center>"
response.write "本系統共有注冊用戶"&n_user&"人,廣告"&n_ad&"條,被瀏覽"&n_view&"次"
response.write "</td></tr></table>"
end sub

'過濾字元
function guolv(thestr)
dim zifu(6),i
zifu(0)="靠"
zifu(1)="response"'SQL語句過濾
zifu(2)="where"
zifu(3)="select"
zifu(4)="delete"
zifu(5)="insert"
zifu(6)="updata"

thestr=replace(thestr,"<","")
thestr=replace(thestr,">","")
thestr=replace(thestr,"'","")
thestr=replace(thestr,"""","#")
for i=0 to 6
thestr=replace(thestr,zifu(i),"")
next
guolv=thestr
End function

'用戶的廣告數變化
sub mdf_adcount(thename,thecount)
dim ad_temp

ad_sql="select * from ad_user where username='"&thename&"'"
ad_rs.open ad_sql,ad_conn,1,1
ad_temp=ad_rs("adcount")+thecount
ad_rs.close

ad_sql="update ad_user set adcount="&ad_temp&" where username='"&thename&"'"
ad_cmd.commandtext=ad_sql
ad_cmd.execute(ad_sql)
end sub

'用戶廣告瀏覽量的變化
sub mdf_adviewcount(theid,thecount)
dim ad_temp

ad_sql="select * from ad_index where ID="&theid
ad_rs.open ad_sql, ad_conn,1,1
ad_temp=ad_rs("ad_viewcount")+thecount
ad_rs.close

ad_sql="update ad_index set ad_viewcount="&ad_temp&" where ID="&theid
ad_cmd.commandtext=ad_sql
ad_cmd.execute(ad_sql)
end sub

'系統的廣告數變化
sub mdf_sysadcount(thecount)
ad_sql="select * from sys_info"
dim ad_temp

ad_rs.open ad_sql,ad_conn,1,1
ad_temp= ad_rs("sys_adcount")+thecount
ad_rs.close

ad_sql="update sys_info set sys_adcount="&ad_temp
ad_cmd.commandtext=ad_sql
ad_cmd.execute(ad_sql)

end sub

'系統瀏覽量的變化
sub mdf_sysview(thecount)
ad_sql="select * from sys_info"
dim ad_temp

ad_rs.open ad_sql,ad_conn,1,1
ad_temp= ad_rs("sys_view")+thecount
ad_rs.close

ad_sql="update sys_info set sys_view="&ad_temp
ad_cmd.commandtext=ad_sql
ad_cmd.execute(ad_sql)

end sub

'系統用戶數的變化
sub mdf_sysusercount(thecount)
ad_sql="select * from sys_info"
dim ad_temp

ad_rs.open ad_sql,ad_conn,1,1
ad_temp= ad_rs("sys_usercount")+thecount
ad_rs.close

ad_sql="update sys_info set sys_usercount="&ad_temp
ad_cmd.commandtext=ad_sql
ad_cmd.execute(ad_sql)

end sub

sub refresh()

ad_sql="select * from ad_index"
ad_rs.open ad_sql,ad_conn,1,1
ct=ad_Rs.recordcount
ad_rs.close
ad_sql="update sys_info set sys_adcount="&ct
ad_cmd.commandtext=ad_sql
ad_cmd.execute(ad_sql)

ad_sql="select * from ad_user"
ad_rs.open ad_sql,ad_conn,1,1
ct=ad_Rs.recordcount
ad_rs.close
ad_sql="update sys_info set sys_usercount="&ct
ad_cmd.commandtext=ad_sql
ad_cmd.execute(ad_sql)
end sub
%>

//ad_index.asp

<!--#include file="ad_conn.asp"-->
<!--#include file="ad_const.asp"-->
<!--#include file="ad_fun.asp"-->
<html>
<head>
<style>
a {text-decoration : none; color : blue; }
</style>
<title>天涯自助廣告系統</title>
</head>
<body bgcolor=yellow background="hehua.jpg">
<table height=500 width='100%'>
<tr><td>
<%
dim ad_sort,ad_st,ad_page,ad_gagetp
ad_sort=Request.QueryString("sort")
ad_pagetp=Request.QueryString("page")
if ad_pagetp="" then
ad_page=1
else
ad_page=cint(ad_pagetp)
end if
if ad_sort="" then'如果有排序信息的時候ad_st=0
ad_st=1
else
ad_st=0
end if
main_index()
sub main_index()
Response.Write "<table width='100%' height=590>"

response.write "<tr><td width='100%'>"
show_bar()
response.write "</td></tr>"

response.write "<tr><td width='100%' align=center>"
response.write "<hr><b>以下是網友發布的廣告信息</b>"
response.write "</td></tr>"

response.write "<tr><td width='100%'>"
showad()
response.write "</td></tr>"

response.write "<tr><td width='100%' align=center>"
show_anno()
response.write "</td></tr>"

response.write "<tr><td width='100%'>"
fun_zone()
response.write "</td></tr>"

response.write "<tr><td width='100%'>"
show_sysinfo()

show_liang()

show_right()

show_tjdm()
response.write "</td></tr>"

response.write "</table>"
end sub

sub fun_zone()
Response.Write "<table width='100%'>"
if ad_st=0 then
response.write "<tr><td align=center colspan=2><a href='ad_index.asp'>按全部類型查看</a></td></tr>"
end if
response.write "<tr ><td align=left width=100><a href='ad_help.asp'>系統相關幫助</a></td>"
response.write "<td align=left><a href='ad_user.asp'>用戶控制面板</a></td></tr>"
response.write "</table>"
end sub

sub showad()

dim ncount,pagecount,ad_id
if ad_st=1 then
ad_sql="select ID,ad_title,ad_content,ad_type,ad_viewcount,ad_username from ad_index"
else
dim ad_sort1' 越界處理
ad_sort1=cint(ad_sort)
if ad_sort1<1 then
ad_sort1=1
end if
if ad_sort1>type_count then
ad_sql="select ID,ad_title,ad_content,ad_type,ad_viewcount,ad_username from ad_index"
else
ad_sql="select ID,ad_title,ad_content,ad_type,ad_viewcount,ad_username from ad_index where ad_type="&ad_sort1
end if
end if
ad_rs.open ad_sql,ad_conn,1,1
ad_rs.pagesize=page_count
pagecount=ad_rs.PageCount'頁數
ncount=ad_rs.RecordCount '記錄數
response.write "<table width='100%' >"
response.write "<tr><td width='15%'><b>標題<b></td><td width='10%'><b>類型</b></td><td><b>內容<b></td><td width='10%'><b>查看次數<b></td><td width='15%'><b>發布人<b></td><td width='15%'><b>更多信息<b></td></tr>"
if ad_page>pagecount then
ad_page=pagecount
end if
if ad_page<1 then
ad_page=1
end if
IF not ncount=0 THEN
ad_rs.Move ncount-(ad_page-1)*page_count-1

ct=1

if tj_index=1 then'佔用系統資源
do while not ad_rs.bof and ct<=page_count'
response.write "<tr><td>"&ad_rs("ad_title")&"</td>"
response.write "<td><a href='ad_index.asp?sort="&ad_rs("ad_type")&"'>"&ad_types(ad_rs("ad_type"))&"</a></td>"
response.write "<td>"&ad_rs("ad_content")&"</td>"
response.write "<td align=center>"&ad_rs("ad_viewcount")&"</td>"
response.write "<td>"&ad_rs("ad_username")&"</td>"
response.write "<td><a href='ad_showad.asp?id="&ad_rs("ID")&"'>點擊查看</td></tr>"
dim ik'個體數據更新
ik=ad_rs("ID")
count_i=ad_rs("ad_viewcount")+1
sql="update ad_index set ad_viewcount="&count_i&" where ID="&ik
ad_cmd.commandtext=sql
ad_cmd.execute(sql)
ct=ct+1
ad_rs. MovePrevious
loop
ad_rs.close
ad_sql="select * from sys_info"
ad_rs.open ad_sql,ad_conn,1,1
count_i= ad_rs("sys_view")+ct-1
ad_rs.close
ad_sql="update sys_info set sys_view="&count_i
ad_cmd.commandtext=ad_sql
ad_cmd.execute(ad_sql)
else'---------------不統計index頁里的廣告
do while not ad_rs.bof and ct<=page_count'
response.write "<tr><td>"&ad_rs("ad_title")&"</td>"
response.write "<td><a href='ad_index.asp?sort="&ad_rs("ad_type")&"'>"&ad_types(ad_rs("ad_type"))&"</a></td>"
response.write "<td>"&ad_rs("ad_content")&"</td>"
response.write "<td align=center>"&ad_rs("ad_viewcount")&"</td>"
response.write "<td>"&ad_rs("ad_username")&"</td>"
response.write "<td><a href='ad_showad.asp?id="&ad_rs("ID")&"'>點擊查看</td></tr>"
ct=ct+1
ad_rs. MovePrevious
loop

end if
'=======================================================頁碼輸出程序段開始
'輸出總共頁數
response.write "<tr><td colspan=6>"
response.write "共"&pagecount&"頁 "
response.write "當前頁:"&ad_page&" </td></tr>"
response.write "<tr><td colspan=6>"

'輸出首頁
if ad_ct=1 then
response.write "<a href='ad_index.asp?page=1'>===首頁</a> "
else
response.write "<a href='ad_index.asp?page=1&sort="&ad_sort&"'>===首頁</a> "
end if
'輸出上翻10頁
if ad_ct=1 then
response.write "<a href='ad_index.asp?page="&ad_page-10&"'>上10頁</a> "
else
response.write "<a href='ad_index.asp?page="&ad_page-10&"&sort="&ad_sort&"'>上10頁</a> "
end if

'輸出相鄰頁
dim out_bg,out_ed'
out_bg=ad_page-5
out_ed=ad_page+5
for ct=out_bg to out_ed
if ct>0 and ct<=pagecount then'合法地址才輸出
if ad_ct=1 then
response.write "<a href='ad_index.asp?page="&ct&"'>"&ct&"</a> "
else
response.write "<a href='ad_index.asp?page="&ct&"&sort="&ad_sort&"'>"&ct&"</a> "
end if
end if
next

'輸出下翻10頁
if ad_ct=1 then
response.write "<a href='ad_index.asp?page="&ad_page+10&"'>上10頁</a> "
else
response.write "<a href='ad_index.asp?page="&ad_page+10&"&sort="&ad_sort&"'>下10頁</a> "
end if

'輸出尾頁
if ad_ct=1 then
response.write "<a href='ad_index.asp?page="&pagecount&"'>尾頁===</a> "
else
response.write "<a href='ad_index.asp?page="&pagecount&"&sort="&ad_sort&"'>尾頁===</a> "
end if
'=======================================================頁碼輸出程序段結束

END IF

response.write "</td></tr>"
response.write "</table>"

ad_rs.close
end sub

%>
</td></tr></table>

</body></html>

熱點內容
c語言編譯器的版權 發布:2025-01-18 05:13:37 瀏覽:296
htmlbase64圖片上傳 發布:2025-01-18 05:13:03 瀏覽:19
微信小程序源碼目錄 發布:2025-01-18 05:08:51 瀏覽:679
投影儀什麼配置好 發布:2025-01-18 05:01:46 瀏覽:56
傾城密碼有什麼蛋糕 發布:2025-01-18 05:00:35 瀏覽:413
安卓應用鎖是什麼意思 發布:2025-01-18 04:59:57 瀏覽:908
mfc數據存儲 發布:2025-01-18 04:59:05 瀏覽:570
今日頭條as演算法 發布:2025-01-18 04:53:05 瀏覽:6
設置js緩存時間 發布:2025-01-18 04:43:44 瀏覽:512
360路由怎麼改密碼 發布:2025-01-18 04:43:08 瀏覽:409