日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

基于javascript的asp数据库操作类,含分页、字符串截取、用户登陆验证[原创]

發(fā)布時(shí)間:2023/12/13 javascript 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于javascript的asp数据库操作类,含分页、字符串截取、用户登陆验证[原创] 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2005.01.15發(fā)表于blog.csdn.net/zxub

  無(wú)聊又用了用asp,發(fā)現(xiàn)還是不爽,已經(jīng)習(xí)慣了面向?qū)ο罅?就想改進(jìn)了,vbscript不用,感覺(jué)看起來(lái)很不爽,就用javascript寫(xiě)了下面?zhèn)€類(lèi):
<%
//
//????????????//
//??? 用Javascript實(shí)現(xiàn)的一個(gè)數(shù)據(jù)庫(kù)操作類(lèi)??????? //
//?????????????? //
//
?function DBOperate()
?{
??this.DBType=0;? //數(shù)據(jù)文件類(lèi)別號(hào),用以實(shí)現(xiàn)獲取不同的表
??????? this.DBPath="";? //數(shù)據(jù)庫(kù)文件相對(duì)站點(diǎn)的存放地址
??this.ConnString; //連接字符串
??this.Conn; //數(shù)據(jù)庫(kù)連接對(duì)象
??this.RS;?? //數(shù)據(jù)集
??this.SQLString;? //操作數(shù)據(jù)庫(kù)的SQL語(yǔ)句
??this.GetDBPath=GetDBPath;? //獲取數(shù)據(jù)庫(kù)路徑
??this.RSMoveType=1; //紀(jì)錄集移動(dòng)方式:
?????????????????? //0為只讀,當(dāng)前數(shù)據(jù)記錄只能向下移動(dòng);
?????????????????? //1為只讀,當(dāng)前數(shù)據(jù)記錄可自由移動(dòng);
?????????????????? //2為可讀寫(xiě),當(dāng)前數(shù)據(jù)記錄可自由移動(dòng);
?????????????????? //3為可讀寫(xiě),當(dāng)前數(shù)據(jù)記錄可自由移動(dòng),可看到新增記錄
?????? //RS.MoveFirst(),RS.MoveLast(),RS.MoveNext(),RS.MovePrevious().
?????? //RS.Move(n) 方法:從當(dāng)前位置移動(dòng)n條記錄,n>0為正向,n<0為反向,
?????? //RS.Move(n,1) 方法:從第一條紀(jì)錄處移動(dòng)n條記錄,n>0,后面的參數(shù)只能為1
??this.RSLockType=1; //紀(jì)錄集鎖定方式:
?????????????????? //1為缺省鎖定類(lèi)型,記錄集是只讀的,不能修改記錄
?????? //2為悲觀鎖定,當(dāng)修改記錄時(shí),數(shù)據(jù)提供者將嘗試鎖定記錄以確保成功地編輯記錄。只要編輯一開(kāi)始,則立即鎖住記錄。
?????????????????? //3為樂(lè)觀鎖定,直到用Update方法提交更新記錄時(shí)才鎖定記錄。
?????????????????? //4為批量樂(lè)觀鎖定,允許修改多個(gè)記錄,只有調(diào)用UpdateBatch方法后才鎖定記錄。
??//*************************************************************************
??//當(dāng)分頁(yè)的時(shí)候,計(jì)算TotalRecordCount和TotalPageCount
??//*************************************************************************
??this.TotalRecordCount=0;? //紀(jì)錄集總紀(jì)錄數(shù),開(kāi)始由于沒(méi)紀(jì)錄集,所以為0
??this.PageSize=10;??? //每頁(yè)最大紀(jì)錄數(shù),默認(rèn)為10
??this.TotalPageCount=0;? //最大頁(yè)數(shù).?
??//*************************************************************************
??this.CurrentPageID=1;? //當(dāng)前頁(yè)碼,默認(rèn)為1
??this.CurrentPageTag="CurrentPageID";
??this.GotoPageName="";? //顯示紀(jì)錄的頁(yè)面名稱(chēng),默認(rèn)為當(dāng)前頁(yè)面
??function GetDBPath()
??{
???switch (this.DBType)
???{
????case 1:
?????this.DBPath="/data/#info.asp";
?????break;
????case 2:
?????this.DBPath="/data/#members.asp";
?????break;
????case 3:
?????this.DBPath="/data/#tradeinfo.asp";
?????break;
????default:Response.Write("數(shù)據(jù)類(lèi)別號(hào)有誤!");Response.End;break;
???}
???if (this.DBPath!=null)
???{
????this.ConnString="Provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath(this.DBPath);
???}
??}
??this.DBOpen=DBOpen;
??function DBOpen()? //打開(kāi)數(shù)據(jù)庫(kù)
??{
???try
???{
????this.Conn=Server.CreateObject("ADODB.Connection");
????this.Conn.Open(this.ConnString);
???}
???catch (e)
???{
????Response.Write("數(shù)據(jù)庫(kù)連接錯(cuò)誤!");
????Response.End();
???}???
??}
??this.DBClose=DBClose;
??function DBClose()? //關(guān)閉數(shù)據(jù)庫(kù)
??{
???if (this.Conn!=null)
???{
????this.Conn.Close();
????this.Conn=null;
???}
??}
??this.GetRS=GetRS;
??function GetRS()? //產(chǎn)生一個(gè)數(shù)據(jù)集對(duì)象
??{
???if (this.Conn!=null)
???{
????var i=Request.QueryString(this.CurrentPageTag).Count;
????if (i>0)
????{
?????this.CurrentPageID=parseInt(Request.QueryString(this.CurrentPageTag));
?????if (this.CurrentPageID<=0)
?????{
??????this.DBClose();
??????Response.Write("頁(yè)碼超出合法范圍!");
??????Response.End();
?????}
????}
????this.RS=Server.CreateObject("ADODB.RecordSet");
????this.RS.Open(this.SQLString,this.Conn,this.RSMoveType,this.RSLockType);
????this.TotalRecordCount=this.RS.RecordCount;
????this.TotalPageCount=Math.ceil(this.TotalRecordCount/this.PageSize);
????var EndPage=this.TotalPageCount;
????if (EndPage==0) EndPage=1;
????if (this.CurrentPageID>EndPage)
????{
?????this.DBClose();
?????Response.Write("頁(yè)碼超出合法范圍!");
?????Response.End();
????}
???}????
???else
???{
????Response.Write("沒(méi)有連接到數(shù)據(jù)庫(kù)!");
????Response.End();
???}
??}
??this.CloseRS=CloseRS;
??function CloseRS() //關(guān)閉數(shù)據(jù)集對(duì)象
??{
???if (this.RS!=null)
???{
????this.RS.Close();
????this.RS=null;
???}
??}
??this.DBExecSQL=DBExecSQL;
??function DBExecSQL()? //執(zhí)行SQL語(yǔ)句,用于執(zhí)行添加、刪除、修改操作
??{
???if (this.Conn!=null)
???{
????this.Conn.Execute(this.SQLString);
???}
???else
???{
????Response.Write("沒(méi)有連接到數(shù)據(jù)庫(kù)!");
????Response.End();
???}
??}
??this.RSIsEmpty=RSIsEmpty;
??function RSIsEmpty()
??{
???if (this.RS!=null)
???{
????if ((this.RS.BOF) && (this.RS.EOF))
????{
?????//RS is empty
?????return true;
????}
????else
????{
?????//RS not empty
?????return false;
????}
???}
???else
???{
????Response.Write("沒(méi)有連接到數(shù)據(jù)庫(kù)!");
????Response.End();
???}???
??}
??this.SetPager=SetPager;
??function SetPager()
??{
???var PreviousPageID=this.CurrentPageID-1;
???var NextPageID=this.CurrentPageID+1;
???var HomePage=1;
???var EndPage=this.TotalPageCount;
???//************************************************************
???/*this.RS.MoveFirst();
???this.RS.Move((this.CurrentPageID-1)*this.PageSize,1);
???var j=0;
???while (!this.RS.eof && j<this.PageSize)
???{
????Response.Write(this.RS("type")+"<br>");
????j=j+1;
????this.RS.MoveNext();
???}*/
???//************************************************************???
???var PagerString="";
???PagerString+="<table width=\"100%\" height=\"25\"? border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-size:9pt\">";
???PagerString+="<tr>";
???PagerString+="<td align=\"right\" valign=\"middle\">合計(jì) <strong><font color=\"#FF0000\">";
???PagerString+=this.TotalRecordCount;
???PagerString+="</font></strong> 個(gè) | ";
???if (this.CurrentPageID==HomePage)
???{
????PagerString+="<A disabled>首頁(yè)</A> <A disabled>上一頁(yè)</A> ";
???}
???else
???{
????PagerString+="<A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+HomePage+">首頁(yè)</A> <A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+PreviousPageID+">上一頁(yè)</A> ";
???}
???if (this.CurrentPageID==EndPage)
???{
????PagerString+="<A disabled>下一頁(yè)</A> <A disabled>尾頁(yè)</A> </td>";
???}
???else
???{
????PagerString+="<A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+NextPageID+">下一頁(yè)</A> <A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+EndPage+">尾頁(yè)</A> </td>";
???}
???PagerString+="<td width=\"120\" align=\"center\" valign=\"middle\">頁(yè)次:<strong><font color=\"#FF0000\">";
???PagerString+=this.CurrentPageID;
???PagerString+="</font>/";
???PagerString+=this.TotalPageCount+"&nbsp;";
???PagerString+=this.PageSize+"</strong>個(gè)/頁(yè) </td>"
???PagerString+="<td width=\"36\" align=\"right\" valign=\"middle\">轉(zhuǎn)到: </td>"
???PagerString+="<td width=\"76\" align=\"left\" valign=\"middle\">";
???PagerString+="<select size=1 name=CurrentPage style='font-size:9pt;width:60px' οnchange=\"document.location=\'"+this.GotoPageName+"?"+this.CurrentPageTag+"=\'+this.options[this.selectedIndex].value\">";
???for (i=1;i<=this.TotalPageCount;i++)
???{
????if(this.CurrentPageID==i)
????{
?????PagerString+="<option selected value="+i+">第"+i+"頁(yè)</option>";
????}
????else
????{
?????PagerString+="<option value="+i+">第"+i+"頁(yè)</option>";
????}
???}
???PagerString+="</select>";
???PagerString+="</td>";
???PagerString+="</tr>";
???PagerString+="</table>"?
???if (EndPage>0)
???{
????return(PagerString);
???}
???else
???{
????return("");
???}
??}
?}?
%>
<%
//
//????????????//
//??? 字符串操作??????????????????????????????? //
//?????????????? //
//
?? function CutString(InputString,AppendString,CutLen)
??{
???InputString=String(InputString);
???AppendString=String(AppendString);
???var FactLen=0,TempString="",i;
???var Strlength=InputString.length;
???for (i=0;i<Strlength;i++)
???{
????if (InputString.charCodeAt(i)>255)
????{
?????FactLen+=2;
????}
????else
????{
?????FactLen+=1;
????}????
????if (FactLen>CutLen)
?????break;????
????try
????{
?????TempString+=InputString.substr(i,1);
????}
????catch (e)
????{
?????break;
????}????
???}
???if (FactLen>CutLen)
???{
????TempString+=AppendString;
???}
???return TempString;
??}??
%>
<%
///
//
//? 空格及回車(chē)的顯示??????????????????????????? //
//
//
? function AlignString(obj)
? {
? ?return String(obj).replace( /[\" "]/g,"&nbsp;").replace(/[\r]/g,"<br>");
? }
%>
<%
//
//????????????//
//??? 用Javascript實(shí)現(xiàn)的用戶(hù)身份驗(yàn)證類(lèi)??????????? //
//?????????????? //
//
?function UserLogin()
?{
??this.UnameField="";? //用戶(hù)名字段名稱(chēng)
??this.PwdField="";? //密碼字段名稱(chēng)
??this.LevelField="";? //用戶(hù)級(jí)別字段名稱(chēng)
??this.UserTableName="";? //存放用戶(hù)信息的表名稱(chēng)
??this.uname="";? //用戶(hù)名
??this.pwd="";? //密碼
??this.SessionOfName="";
??this.SessionOfPwd="";
??this.SessionOfLevel="";
??this.CheckLogin=CheckLogin;? //驗(yàn)證用戶(hù)是否登陸
??this.ErrorURL="";? //沒(méi)登陸時(shí)轉(zhuǎn)向的頁(yè)面
??this.OKURL="";? //登陸成功時(shí)轉(zhuǎn)向的頁(yè)面
??function CheckLogin()
??{
???var DBConn=new DBOperate();
???DBConn.DBType=0;
???DBConn.CurrentPageTag="#PID";
???DBConn.ConnString="Provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath("/data/#members.asp");
???DBConn.DBOpen();
???DBConn.SQLString="Select * from "+this.UserTableName+" where "+this.UnameField+"='"+this.uname.replace( /[\']/g,"#").replace( /[\s]/g,"#")+"' and "+this.PwdField+"='"+this.pwd.replace( /[\']/g,"#").replace( /[\s]/g,"#")+"'";
???DBConn.GetRS();
???if (DBConn.RSIsEmpty()==true)
???{
????DBConn.DBClose();
????DBConn=null;
????if (this.ErrorURL!="")
?????Response.Redirect(this.ErrorURL);
???}
???else
???{
????if (this.SessionOfName!="")
????{
?????Session(this.SessionOfName)=String(DBConn.RS(this.UnameField));
????}
????if (this.SessionOfPwd!="")
????{
?????Session(this.SessionOfPwd)=String(DBConn.RS(this.PwdField));
????}
????if (this.SessionOfLevel!="")
????{
?????Session(this.SessionOfLevel)=String(DBConn.RS(this.LevelField));
????}
????DBConn.CloseRS();
????DBConn.DBClose();
????DBConn=null;
????if (this.OKURL!="")
?????Response.Redirect(this.OKURL);
???}
??}
?}
%>

  測(cè)試頁(yè)面代碼如下:
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<!--#include FILE="DBO.asp"-->
<%
var DBobj=new DBOperate();
DBobj.CurrentPageTag="PID";
DBobj.DBType=2;
DBobj.GetDBPath();
DBobj.DBOpen();
DBobj.SQLString="select * from members";
DBobj.PageSize=4;
DBobj.GetRS();
//********************************************************************
if (!DBobj.RSIsEmpty())
{
DBobj.RS.MoveFirst();
DBobj.RS.Move((DBobj.CurrentPageID-1)*DBobj.PageSize,1);
var j=0;
while (!DBobj.RS.eof && j<DBobj.PageSize)//
{
?Response.Write(DBobj.RS("name")+"<br>");
?j=j+1;
?DBobj.RS.MoveNext();
}
}
//*********************************************************************
Response.Write("<br>");
//*********************************************************************
Response.Write(DBobj.SetPager());?? //分頁(yè)導(dǎo)航條高度為25
//*********************************************************************
Response.Write(CutString("啊撒123嬌散件 aaaa","#",8));
var Uobj=new UserLogin();
Uobj.UnameField="uname";
Uobj.PwdField="upwd";
Uobj.LevelField="ulevel";
Uobj.UserTableName="uadmi";
Uobj.uname="sadmin";
Uobj.pwd="sadmin";
Uobj.OKURL="";
Uobj.ErrorURL="2.htm";
Uobj.SessionOfName="aaa";
DBobj.CloseRS();
DBobj.DBClose();
DBobj=null;
Uobj.CheckLogin();
Response.Write(Session(Uobj.SessionOfName));
%>
  具體效果把上面的代碼存成2個(gè)asp文件測(cè)試就知道了,不多說(shuō)了。

轉(zhuǎn)載于:https://www.cnblogs.com/zxub/archive/2005/06/13/173593.html

總結(jié)

以上是生活随笔為你收集整理的基于javascript的asp数据库操作类,含分页、字符串截取、用户登陆验证[原创]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性高湖久久久久久久久免费 | 免费a网 | 国产三级三级看三级 | 卡一卡二视频 | av免费看网址 | 欧美性一区二区三区 | 国产精品av一区二区 | 538国产精品一区二区免费视频 | 中文字幕黄色av | 蜜臀99久久精品久久久久小说 | 国产91边播边对白在线 | 国产sm调教一区二区 | 国产毛片a| 青青青手机在线视频 | 玖玖爱在线观看 | 精品麻豆av| 国产一二三视频 | 天堂va蜜桃一区二区三区 | 亚洲αv | 日韩在线电影一区二区 | 亚洲美女啪啪 | 黄色大片在线免费观看 | 欧美日韩xxx| 亚洲中文字幕无码一区 | 在线天堂中文在线资源网 | 欧美一区二区三区在线观看视频 | 国产精品一区二区无码对白 | 在线色av | 激情戏网站 | 国产美女福利在线 | 国产一区自拍视频 | 青青草成人影视 | 69久久夜色精品国产69 | 激情三区 | 经典三级视频 | 国产美女引诱水电工 | 午夜偷拍福利视频 | 欧美在线视频播放 | 日夜夜操 | 国产精品 色 | 日韩一区二区三区视频 | 日本黄色一级 | 少妇人妻无码专区视频 | 激情黄色小说网站 | 中文字幕一区二区三区视频 | 性折磨bdsm欧美激情另类 | 操操操网站 | 欧美高清一区二区 | 毛片在线观看视频 | 色吧在线视频 | 午夜精品剧场 | 青草草在线 | 午夜剧场免费在线观看 | 久久精品视频免费看 | 国产精品成人免费看片 | 日韩欧美亚洲国产精品字幕久久久 | 久色 | 成全世界免费高清观看 | av免费天堂 | 日本少妇色 | 天天cao在线 | 国产91福利 | 蜜臀久久99精品久久久久久宅男 | 成年人爱爱视频 | 国产亚洲精品久久久久久无几年桃 | 美攻壮受大胸奶汁(高h) | 天狂传说之巴啦啦小魔仙 | 九九九热精品 | 免费一级淫片 | 福利免费在线观看 | 一道本一区二区 | 一级黄色片片 | 日本黄色的视频 | 狠狠网 | 69精品一区二区三区 | 国产精品成人免费精品自在线观看 | 变态另类一区 | 九色九一 | 日本免费在线播放 | 欧美熟妇乱码在线一区 | 久久久久久久久艹 | 国产黑丝在线 | 色哟哟在线免费观看 | 亚洲资源在线播放 | 原创av | 国产爽爽爽 | 亚洲精品色 | 福利一区视频 | 中文字幕首页 | 精品少妇一区二区三区免费观看 | 囯产精品一品二区三区 | 国产精品 日韩 | 激情久久五月天 | 欧美日韩精品一区二区三区 | 国产精品无码内射 | 黄色录像二级片 | 99热2 | xxxxwwww国产| 日韩福利片在线观看 |