當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
基于javascript的asp数据库操作类,含分页、字符串截取、用户登陆验证[原创]
生活随笔
收集整理的這篇文章主要介紹了
基于javascript的asp数据库操作类,含分页、字符串截取、用户登陆验证[原创]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2005.01.15發表于blog.csdn.net/zxub
無聊又用了用asp,發現還是不爽,已經習慣了面向對象了,就想改進了,vbscript不用,感覺看起來很不爽,就用javascript寫了下面個類:
<%
//
//????????????//
//??? 用Javascript實現的一個數據庫操作類??????? //
//?????????????? //
//
?function DBOperate()
?{
??this.DBType=0;? //數據文件類別號,用以實現獲取不同的表
??????? this.DBPath="";? //數據庫文件相對站點的存放地址
??this.ConnString; //連接字符串
??this.Conn; //數據庫連接對象
??this.RS;?? //數據集
??this.SQLString;? //操作數據庫的SQL語句
??this.GetDBPath=GetDBPath;? //獲取數據庫路徑
??this.RSMoveType=1; //紀錄集移動方式:
?????????????????? //0為只讀,當前數據記錄只能向下移動;
?????????????????? //1為只讀,當前數據記錄可自由移動;
?????????????????? //2為可讀寫,當前數據記錄可自由移動;
?????????????????? //3為可讀寫,當前數據記錄可自由移動,可看到新增記錄
?????? //RS.MoveFirst(),RS.MoveLast(),RS.MoveNext(),RS.MovePrevious().
?????? //RS.Move(n) 方法:從當前位置移動n條記錄,n>0為正向,n<0為反向,
?????? //RS.Move(n,1) 方法:從第一條紀錄處移動n條記錄,n>0,后面的參數只能為1
??this.RSLockType=1; //紀錄集鎖定方式:
?????????????????? //1為缺省鎖定類型,記錄集是只讀的,不能修改記錄
?????? //2為悲觀鎖定,當修改記錄時,數據提供者將嘗試鎖定記錄以確保成功地編輯記錄。只要編輯一開始,則立即鎖住記錄。
?????????????????? //3為樂觀鎖定,直到用Update方法提交更新記錄時才鎖定記錄。
?????????????????? //4為批量樂觀鎖定,允許修改多個記錄,只有調用UpdateBatch方法后才鎖定記錄。
??//*************************************************************************
??//當分頁的時候,計算TotalRecordCount和TotalPageCount
??//*************************************************************************
??this.TotalRecordCount=0;? //紀錄集總紀錄數,開始由于沒紀錄集,所以為0
??this.PageSize=10;??? //每頁最大紀錄數,默認為10
??this.TotalPageCount=0;? //最大頁數.?
??//*************************************************************************
??this.CurrentPageID=1;? //當前頁碼,默認為1
??this.CurrentPageTag="CurrentPageID";
??this.GotoPageName="";? //顯示紀錄的頁面名稱,默認為當前頁面
??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("數據類別號有誤!");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()? //打開數據庫
??{
???try
???{
????this.Conn=Server.CreateObject("ADODB.Connection");
????this.Conn.Open(this.ConnString);
???}
???catch (e)
???{
????Response.Write("數據庫連接錯誤!");
????Response.End();
???}???
??}
??this.DBClose=DBClose;
??function DBClose()? //關閉數據庫
??{
???if (this.Conn!=null)
???{
????this.Conn.Close();
????this.Conn=null;
???}
??}
??this.GetRS=GetRS;
??function GetRS()? //產生一個數據集對象
??{
???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("頁碼超出合法范圍!");
??????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("頁碼超出合法范圍!");
?????Response.End();
????}
???}????
???else
???{
????Response.Write("沒有連接到數據庫!");
????Response.End();
???}
??}
??this.CloseRS=CloseRS;
??function CloseRS() //關閉數據集對象
??{
???if (this.RS!=null)
???{
????this.RS.Close();
????this.RS=null;
???}
??}
??this.DBExecSQL=DBExecSQL;
??function DBExecSQL()? //執行SQL語句,用于執行添加、刪除、修改操作
??{
???if (this.Conn!=null)
???{
????this.Conn.Execute(this.SQLString);
???}
???else
???{
????Response.Write("沒有連接到數據庫!");
????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("沒有連接到數據庫!");
????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\">合計 <strong><font color=\"#FF0000\">";
???PagerString+=this.TotalRecordCount;
???PagerString+="</font></strong> 個 | ";
???if (this.CurrentPageID==HomePage)
???{
????PagerString+="<A disabled>首頁</A> <A disabled>上一頁</A> ";
???}
???else
???{
????PagerString+="<A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+HomePage+">首頁</A> <A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+PreviousPageID+">上一頁</A> ";
???}
???if (this.CurrentPageID==EndPage)
???{
????PagerString+="<A disabled>下一頁</A> <A disabled>尾頁</A> </td>";
???}
???else
???{
????PagerString+="<A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+NextPageID+">下一頁</A> <A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+EndPage+">尾頁</A> </td>";
???}
???PagerString+="<td width=\"120\" align=\"center\" valign=\"middle\">頁次:<strong><font color=\"#FF0000\">";
???PagerString+=this.CurrentPageID;
???PagerString+="</font>/";
???PagerString+=this.TotalPageCount+" ";
???PagerString+=this.PageSize+"</strong>個/頁 </td>"
???PagerString+="<td width=\"36\" align=\"right\" valign=\"middle\">轉到: </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+"頁</option>";
????}
????else
????{
?????PagerString+="<option value="+i+">第"+i+"頁</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;
??}??
%>
<%
///
//
//? 空格及回車的顯示??????????????????????????? //
//
//
? function AlignString(obj)
? {
? ?return String(obj).replace( /[\" "]/g," ").replace(/[\r]/g,"<br>");
? }
%>
<%
//
//????????????//
//??? 用Javascript實現的用戶身份驗證類??????????? //
//?????????????? //
//
?function UserLogin()
?{
??this.UnameField="";? //用戶名字段名稱
??this.PwdField="";? //密碼字段名稱
??this.LevelField="";? //用戶級別字段名稱
??this.UserTableName="";? //存放用戶信息的表名稱
??this.uname="";? //用戶名
??this.pwd="";? //密碼
??this.SessionOfName="";
??this.SessionOfPwd="";
??this.SessionOfLevel="";
??this.CheckLogin=CheckLogin;? //驗證用戶是否登陸
??this.ErrorURL="";? //沒登陸時轉向的頁面
??this.OKURL="";? //登陸成功時轉向的頁面
??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);
???}
??}
?}
%>
測試頁面代碼如下:
<%@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());?? //分頁導航條高度為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個asp文件測試就知道了,不多說了。
無聊又用了用asp,發現還是不爽,已經習慣了面向對象了,就想改進了,vbscript不用,感覺看起來很不爽,就用javascript寫了下面個類:
<%
//
//????????????//
//??? 用Javascript實現的一個數據庫操作類??????? //
//?????????????? //
//
?function DBOperate()
?{
??this.DBType=0;? //數據文件類別號,用以實現獲取不同的表
??????? this.DBPath="";? //數據庫文件相對站點的存放地址
??this.ConnString; //連接字符串
??this.Conn; //數據庫連接對象
??this.RS;?? //數據集
??this.SQLString;? //操作數據庫的SQL語句
??this.GetDBPath=GetDBPath;? //獲取數據庫路徑
??this.RSMoveType=1; //紀錄集移動方式:
?????????????????? //0為只讀,當前數據記錄只能向下移動;
?????????????????? //1為只讀,當前數據記錄可自由移動;
?????????????????? //2為可讀寫,當前數據記錄可自由移動;
?????????????????? //3為可讀寫,當前數據記錄可自由移動,可看到新增記錄
?????? //RS.MoveFirst(),RS.MoveLast(),RS.MoveNext(),RS.MovePrevious().
?????? //RS.Move(n) 方法:從當前位置移動n條記錄,n>0為正向,n<0為反向,
?????? //RS.Move(n,1) 方法:從第一條紀錄處移動n條記錄,n>0,后面的參數只能為1
??this.RSLockType=1; //紀錄集鎖定方式:
?????????????????? //1為缺省鎖定類型,記錄集是只讀的,不能修改記錄
?????? //2為悲觀鎖定,當修改記錄時,數據提供者將嘗試鎖定記錄以確保成功地編輯記錄。只要編輯一開始,則立即鎖住記錄。
?????????????????? //3為樂觀鎖定,直到用Update方法提交更新記錄時才鎖定記錄。
?????????????????? //4為批量樂觀鎖定,允許修改多個記錄,只有調用UpdateBatch方法后才鎖定記錄。
??//*************************************************************************
??//當分頁的時候,計算TotalRecordCount和TotalPageCount
??//*************************************************************************
??this.TotalRecordCount=0;? //紀錄集總紀錄數,開始由于沒紀錄集,所以為0
??this.PageSize=10;??? //每頁最大紀錄數,默認為10
??this.TotalPageCount=0;? //最大頁數.?
??//*************************************************************************
??this.CurrentPageID=1;? //當前頁碼,默認為1
??this.CurrentPageTag="CurrentPageID";
??this.GotoPageName="";? //顯示紀錄的頁面名稱,默認為當前頁面
??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("數據類別號有誤!");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()? //打開數據庫
??{
???try
???{
????this.Conn=Server.CreateObject("ADODB.Connection");
????this.Conn.Open(this.ConnString);
???}
???catch (e)
???{
????Response.Write("數據庫連接錯誤!");
????Response.End();
???}???
??}
??this.DBClose=DBClose;
??function DBClose()? //關閉數據庫
??{
???if (this.Conn!=null)
???{
????this.Conn.Close();
????this.Conn=null;
???}
??}
??this.GetRS=GetRS;
??function GetRS()? //產生一個數據集對象
??{
???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("頁碼超出合法范圍!");
??????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("頁碼超出合法范圍!");
?????Response.End();
????}
???}????
???else
???{
????Response.Write("沒有連接到數據庫!");
????Response.End();
???}
??}
??this.CloseRS=CloseRS;
??function CloseRS() //關閉數據集對象
??{
???if (this.RS!=null)
???{
????this.RS.Close();
????this.RS=null;
???}
??}
??this.DBExecSQL=DBExecSQL;
??function DBExecSQL()? //執行SQL語句,用于執行添加、刪除、修改操作
??{
???if (this.Conn!=null)
???{
????this.Conn.Execute(this.SQLString);
???}
???else
???{
????Response.Write("沒有連接到數據庫!");
????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("沒有連接到數據庫!");
????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\">合計 <strong><font color=\"#FF0000\">";
???PagerString+=this.TotalRecordCount;
???PagerString+="</font></strong> 個 | ";
???if (this.CurrentPageID==HomePage)
???{
????PagerString+="<A disabled>首頁</A> <A disabled>上一頁</A> ";
???}
???else
???{
????PagerString+="<A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+HomePage+">首頁</A> <A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+PreviousPageID+">上一頁</A> ";
???}
???if (this.CurrentPageID==EndPage)
???{
????PagerString+="<A disabled>下一頁</A> <A disabled>尾頁</A> </td>";
???}
???else
???{
????PagerString+="<A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+NextPageID+">下一頁</A> <A href="+this.GotoPageName+"?"+this.CurrentPageTag+"="+EndPage+">尾頁</A> </td>";
???}
???PagerString+="<td width=\"120\" align=\"center\" valign=\"middle\">頁次:<strong><font color=\"#FF0000\">";
???PagerString+=this.CurrentPageID;
???PagerString+="</font>/";
???PagerString+=this.TotalPageCount+" ";
???PagerString+=this.PageSize+"</strong>個/頁 </td>"
???PagerString+="<td width=\"36\" align=\"right\" valign=\"middle\">轉到: </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+"頁</option>";
????}
????else
????{
?????PagerString+="<option value="+i+">第"+i+"頁</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;
??}??
%>
<%
///
//
//? 空格及回車的顯示??????????????????????????? //
//
//
? function AlignString(obj)
? {
? ?return String(obj).replace( /[\" "]/g," ").replace(/[\r]/g,"<br>");
? }
%>
<%
//
//????????????//
//??? 用Javascript實現的用戶身份驗證類??????????? //
//?????????????? //
//
?function UserLogin()
?{
??this.UnameField="";? //用戶名字段名稱
??this.PwdField="";? //密碼字段名稱
??this.LevelField="";? //用戶級別字段名稱
??this.UserTableName="";? //存放用戶信息的表名稱
??this.uname="";? //用戶名
??this.pwd="";? //密碼
??this.SessionOfName="";
??this.SessionOfPwd="";
??this.SessionOfLevel="";
??this.CheckLogin=CheckLogin;? //驗證用戶是否登陸
??this.ErrorURL="";? //沒登陸時轉向的頁面
??this.OKURL="";? //登陸成功時轉向的頁面
??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);
???}
??}
?}
%>
測試頁面代碼如下:
<%@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());?? //分頁導航條高度為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個asp文件測試就知道了,不多說了。
轉載于:https://www.cnblogs.com/zxub/archive/2005/06/13/173593.html
總結
以上是生活随笔為你收集整理的基于javascript的asp数据库操作类,含分页、字符串截取、用户登陆验证[原创]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 申请多张信用卡后总被拒 原来是银行对你不
- 下一篇: 建行喜马拉雅fm龙卡下卡快不快?审核时效