ASP通用數(shù)據(jù)庫顯示編輯程序
發(fā)表時間:2024-06-06 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]引言:]我是雖然半路出家經(jīng)作了幾年的程序,但不知自己是否算是一個程序員。我最近幫朋友作一個網(wǎng)站,為了空間的便宜,選用了ASP+ACCESS的服務(wù)器。由于本人對ASP知道很少,所以實在做得有點累,特別是后臺數(shù)據(jù)庫的管理,有一大堆的表需要我日常維護(hù)。我發(fā)現(xiàn),對于后臺數(shù)據(jù)管理,基本上對數(shù)據(jù)庫進(jìn)行增刪改查...
引言:]我是雖然半路出家經(jīng)作了幾年的程序,但不知自己是否算是一個程序員。我最近幫朋友作一個網(wǎng)站,為了空間的便宜,選用了ASP+ACCESS的服務(wù)器。由于本人對ASP知道很少,所以實在做得有點累,特別是后臺數(shù)據(jù)庫的管理,有一大堆的表需要我日常維護(hù)。我發(fā)現(xiàn),對于后臺數(shù)據(jù)管理,基本上對數(shù)據(jù)庫進(jìn)行增刪改查的的操作,我一個表一個表的寫同樣的操作,真的無法忍受。上網(wǎng)查了查,還真有通用的數(shù)據(jù)顯示程序,可惜沒有數(shù)據(jù)編輯功能。于是有了自己寫一個通用的功能的想法。下面是我參考網(wǎng)友*后的實現(xiàn)。
[設(shè)計目標(biāo):]
1、數(shù)據(jù)庫顯示,編輯,增加,修改,且可以由用戶定義選用。
2、顯示的字段列可以用戶定義(顯示名稱可自定義)
3、頁面的顯示格式以由用戶定義,這包括每頁記錄數(shù),頁腳,列寬,表格的樣式(配置了格式控制CSS文件)
4、組件的界面,支持多語言(chinese,eng,...),可惜還未有時間實現(xiàn),現(xiàn)為中文。
5、支持多表聯(lián)合查詢
[缺限:]
調(diào)用參數(shù)復(fù)雜,需要文檔支持,多表聯(lián)合查詢別名有限制。
[使用示例:]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<LINK href="./style_cn.css" type=text/css rel=stylesheet>
<title>通用數(shù)據(jù)庫顯示程序</title>
</head>
<body bgcolor="#66cccc">
<%
'多個字段用數(shù)組表示
'DSN連接寫法
'sConn = "DSN=<數(shù)據(jù)庫名>;UID=<DSN賬號>;PWD=<密碼>"
'使用物理路徑連接Access數(shù)據(jù)庫寫法
'sConn = "DBQ=" & Server.MapPath("<Access數(shù)據(jù)庫文件的當(dāng)前文件相對路徑>") & ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
'連接SQLServer寫法
'sConn = "Provider=SQLOLEDB;Persist Security Info=False;UID=<用戶名>;PWD=<密碼>;Initial Catalog=<SQLServer數(shù)據(jù)庫名>;Data Source=<數(shù)據(jù)服務(wù)器IP>"
Dim sConn, sTableName, sHidden, sDisplay, sQuery, sOrder, iTop, iPageSize,sEditCols,sKey,sRelation,sColWidth
sConn = "DBQ=" & Server.MapPath("sample.MDB") & ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
'sTableName = "客戶"
'sDisplay = "聯(lián)系人姓名 聯(lián)系人 <a href=""view.asp?CustomerID=$客戶ID$"">$聯(lián)系人姓名$</a>, 公司名稱 公司, 聯(lián)系人頭銜 稱謂, 地址, 城市"
'sHidden = "客戶ID"
'sQuery = "聯(lián)系人姓名 聯(lián)系人, 公司名稱 公司, 聯(lián)系人頭銜 稱謂 , 城市"
'sOrder = "客戶ID"
'iTop = 300
'iPageSize = 2
'sEditCols="0,1,1,1,1"'0-not edit ,1-edit
'sKey="客戶(客戶ID);"
'sRelation=""
sTableName = "Customer,myOrder"
sDisplay = "myOrder.custid 客戶ID <a href=""view.asp?CustomerID=myOrder.custid$"">$CustName$</a>, lineid 行號,product 產(chǎn)品,qty 數(shù)量,Amt 金額,dt 日期,linenotes 備注"
sHidden = "CustName"
sQuery = "myOrder.CustID 客戶ID, product 產(chǎn)品, dt 定單日期"
sOrder = "myOrder.lineID"
iTop = 300
iPageSize = 2
sEditCols="0,1,1,1,1,1,1"'0-not edit ,1-edit
sKey="myOrder(myOrder.custid,lineid);"
sRelation=" myOrder.custid=customer.custid "
sColWidth="20,40,60,60,60,60,60"
'DisplayTable sConn, sTableName, sHidden, sDisplay, sQuery, sOrder, iTop, iPageSize
dim objTable
Set objTable= New clsDispalyTable
'response.Write sConn & "<br>"
objTable.SetTablePara sConn, sTableName, sHidden, sDisplay, sQuery, sOrder,sRelation,sKey
objTable.SetEditPara sEditCols,"",sColWidth,True,True,True
objTable.SetPagePara 300,3
Response.write "<table border=0 align=center cellspacing=0 cellpadding=0><tr><td bgcolor=#6699cc>"
objTable.DisplayTable
Response.write "</td></tr><table>"
'pConn, pTableNames, pHidden, pDisplay, pQuery,pOrder,pRelation,pKeys)
%>
演示:http:www.qinych.com/caibing/test/test.asp
文章:<a >通用數(shù)據(jù)庫顯示程序文章</a><br>
示例asp程序:<a >http://www.xurui.com/mypaper/通用數(shù)據(jù)庫顯示程序/common.asp</a><br>
示例數(shù)據(jù)庫地址:<a >http://www.xurui.com/mypaper/通用數(shù)據(jù)庫顯示程序/sample.mdb</a>
</body>
</html>
[小結(jié):]雖然已經(jīng)完成了了大部分功能,但還有很多不完美的地言,肯請朋友提出意見。