|
所有WQ對(duì)象,按照他們的功能進(jìn)行了分類,分別放在5個(gè)不同的名稱空間下:
復(fù)制代碼 代碼如下:
using WQ.Data;//數(shù)據(jù)庫(kù)操作類
using WQ.Rewriter;//偽URL配置類
using WQ.Server;//服務(wù)器信息類(這個(gè)沒(méi)完成)
using WQ.Text;//字符串操作類(這是個(gè)靜態(tài)類,全是靜態(tài)方法)
using WQ.Web;//網(wǎng)頁(yè)常用類(目前只完成了圖片水印類)
壓縮包下載:wq.rar
先說(shuō)一下一個(gè)最重要的AccessData類,使用時(shí)很簡(jiǎn)單:
using WQ.Data;
public DataTable newsTable;
protected void Page_Load(object sender, EventArgs e)
{
AccessData mydata = new AccessData();
mydata.Open();
mydata.CommandText="select * from [news]";
newsTable=mydata.ExecuteDataTable();//返回一個(gè)DataTable;
mydata.Close();
}
在.ASPx頁(yè)面顯示
<ul>
<%foreach(System.Data.DataRow r in newsTable.rows){%>
<li><a href="xxx.ASPx?id=<%=r["ID"].ToString()%>"><%=r["title"].ToString()%></a></li>
<%}%>
</ul>
如果你想把數(shù)據(jù)在一個(gè)GridView中:
GridView1.DataSource=mydata.ExecuteDataTable();
GridView1.DataBind();
需要說(shuō)明的是,上面我們沒(méi)有看到數(shù)據(jù)庫(kù)的驅(qū)動(dòng),因?yàn)轵?qū)動(dòng)是在web.config配置文件中取的,所以在使用這個(gè)類時(shí),請(qǐng)先配置。
<connectionStrings>
<add name="connstring" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|pub.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>
如果你有多個(gè)Access數(shù)據(jù)庫(kù),例:
<connectionStrings>
<add name="connstring" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|pub.mdb" providerName="System.Data.OleDb"/>
<add name="connmac" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|mac.mdb" providerName="System.Data.OleDb"/>
<add name="conncai" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|cai.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>
配置的時(shí)候name不能相同,AccessData.Open()默認(rèn)打開(kāi)的是name="connstring"這個(gè)數(shù)據(jù)庫(kù),如果你想打開(kāi)其它的數(shù)據(jù)庫(kù)(name="connmac"):
AccessData mydata = new AccessData();
mydata.WebConfigConnectionName="connmac";
mydata.Open();
....
mydata.Close();//關(guān)閉數(shù)據(jù)庫(kù)不要忘了
如果你沒(méi)有或者不想配置web.config,也可以直接把驅(qū)動(dòng)寫(xiě)進(jìn)構(gòu)造函數(shù):
string connstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("~/app_data/pub.mdb");
AccessData mydata = new AccessData(connstring);
mydata.Open();
....
mydata.Close();
如果你查詢的數(shù)據(jù)只有一條,可以直接返回一個(gè)ArrayList:
mydata.CommandText="select [Title],[Content],[DateTime] from [news] where ID=3";
ArrayList newsList=mydata.ExecuteArrayList();//返回一個(gè)ArrayList
在使用的時(shí)候,就可以直接使用這種輕最的數(shù)據(jù)了:
<div>
<div><label>新聞標(biāo)題:<%=newsList[0].ToString()%></label></div>
<div>新聞內(nèi)容:<%=newsList[1].ToString()%></div>
<div>發(fā)布日期:<%=newsList[2].ToString()%></div>
</div>
還有其它的方法,我這里就不一一舉例了:
mydata.ExecuteNonQuery();//執(zhí)行當(dāng)前SQL語(yǔ)句,并返回受影響的行數(shù)
mydata.ExecuteReader();//執(zhí)行當(dāng)行SQL語(yǔ)句,并生成一個(gè)OledbDataReader
mydata.ExecuteScalar();//執(zhí)行當(dāng)行SQL語(yǔ)句,并返回第一行第一列的數(shù)據(jù),忽略其它行數(shù)據(jù)
mydata.getRowsCount(string TabelName);//返回一個(gè)表的總行數(shù)據(jù)
下面說(shuō)一下,這個(gè)AccessData類的分頁(yè)屬性DataPages,WQ.Data下專門(mén)有個(gè)分頁(yè)類,來(lái)處理分頁(yè):
using WQ.Data;
public DataPages newsTable;
protected void Page_Load(object sender, EventArgs e)
{
AccessData mydata = new AccessData();
mydata.Open();
mydata.CommandText="select * from [news]";
newsTable=mydata.DataPages;//返回一個(gè)分頁(yè)集對(duì)象;
mydata.Close();
newsTable.PageSize=10;//每頁(yè)分10行
newsTable.PageIndex=3;//將當(dāng)前頁(yè)定位到3頁(yè)
}
下面在來(lái)說(shuō)一下偽url配置類,這個(gè)類不需要實(shí)例化和使用,(你的項(xiàng)目里一定要引用wq.dll)只需要對(duì)配置文件web.config進(jìn)行配置就行了。首先在<configuration>節(jié)點(diǎn)中加入:
<configSections>
<section name="RewriterConfig" type="WQ.Rewriter.RewriterConfigSerializerSectionHandler" />
</configSections>
記住這個(gè)要加個(gè)最前面,然后在<system.web>加入或修改:
<httpModules>
<add name="ModuleRewriter" type="WQ.Rewriter.moduleUrlRewriter" />
</httpModules>
最后配置重寫(xiě)規(guī)則:
<configSections>
<section name="RewriterConfig" type="WQ.Rewriter.RewriterConfigSerializerSectionHandler" />
</configSections>
<RewriterConfig>
<Rules>
<!-- 偽URL重寫(xiě)配置 -->
<RewriterRule>
<LookFor>~/news/(/d{1,4}).ASPx</LookFor>//偽路徑
<SendTo>~/nt_event.ASPx?cid=$1</SendTo>//原始路徑
</RewriterRule>
<RewriterRule>
<LookFor>~/news/(/w{1,6})/(/w{1,6})/abc.ASPx</LookFor>//偽路徑
<SendTo><![CDATA[~/default.ASPx?act=$1&key=$2]]></SendTo>原始路徑
</RewriterRule>
</Rules>
</RewriterConfig>
這樣偽URL就配置完成了,整個(gè)項(xiàng)目就可以使用這些偽規(guī)則了,注意.NET只能托管.ASPx文件。
這些類的詳細(xì)屬性和方法說(shuō)明,在使用的時(shí)候都會(huì)有提示,不能用大量篇幅全部舉例描述和說(shuō)明了,還有什么疑問(wèn)的給我email或在群里討論了。
AspNet技術(shù):asp.net網(wǎng)站開(kāi)發(fā)包wq.dll打包下載,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。