当前位置:首页 » 操作系统 » 数据库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>

热点内容
师资配置含哪些内容 发布:2025-01-18 07:17:35 浏览:705
江西脚本 发布:2025-01-18 07:14:38 浏览:391
php中i方法 发布:2025-01-18 07:13:19 浏览:368
FTP宝塔Linux面板 发布:2025-01-18 07:10:05 浏览:395
无线网卡怎么改密码 发布:2025-01-18 06:54:41 浏览:765
ava动态编译 发布:2025-01-18 06:54:39 浏览:764
中国学位论文全文数据库 发布:2025-01-18 06:43:49 浏览:688
全局变量存储类别 发布:2025-01-18 06:39:29 浏览:423
苹果平板的王者号如何转移到安卓 发布:2025-01-18 06:37:11 浏览:611
图片访问量 发布:2025-01-18 06:36:34 浏览:497