并不是我不开源,我是觉得包起来方便一点,我没有加密,要看源代码的直接反编一下就看到了。 所有WQ对象,按照他们的功能进行了分类,分别放在5个不同的名称空间下:
复制代码 代码如下: using WQ.Data;//数据库操作类 using WQ.Rewriter;//伪URL配置类 using WQ.Server;//服务器信息类(这个没完成) using WQ.Text;//字符串操作类(这是个静态类,全是静态方法) using WQ.Web;//网页常用类(目前只完成了图片水印类)
压缩包下载:wq.rar
先说一下一个最重要的AccessData类,使用时很简单:
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();//返回一个DataTable; mydata.Close(); }
在.aspx页面显示
<ul> <%foreach(System.Data.DataRow r in newsTable.rows){%> <li><a href="http://www.jb51.net/article/xxx.aspx?id=<%=r["ID"].ToString()%>"><%=r["title"].ToString()%></a></li> <%}%> </ul>
如果你想把数据在一个GridView中:
GridView1.DataSource=mydata.ExecuteDataTable(); GridView1.DataBind();
需要说明的是,上面我们没有看到数据库的驱动,因为驱动是在web.config配置文件中取的,所以在使用这个类时,请先配置。
<connectionStrings> <add connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|pub.mdb" providerName="System.Data.OleDb"/> </connectionStrings>
如果你有多个Access数据库,例:
<connectionStrings> <add connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|pub.mdb" providerName="System.Data.OleDb"/> <add connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|mac.mdb" providerName="System.Data.OleDb"/> <add connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|cai.mdb" providerName="System.Data.OleDb"/> </connectionStrings>
配置的时候name不能相同,AccessData.Open()默认打开的是name="connstring"这个数据库,如果你想打开其它的数据库(name="connmac"):
AccessData mydata = new AccessData(); mydata.WebConfigConnectionName="connmac"; mydata.Open(); .... mydata.Close();//关闭数据库不要忘了
如果你没有或者不想配置web.config,也可以直接把驱动写进构造函数:
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();
如果你查询的数据只有一条,可以直接返回一个ArrayList:
mydata.CommandText="select [Title],[Content],[DateTime] from [news] where ID=3"; ArrayList newsList=mydata.ExecuteArrayList();//返回一个ArrayList
在使用的时候,就可以直接使用这种轻最的数据了:
<div> <div><label>新闻标题:<%=newsList[0].ToString()%></label></div> <div>新闻内容:<%=newsList[1].ToString()%></div> <div>发布日期:<%=newsList[2].ToString()%></div> </div>
还有其它的方法,我这里就不一一举例了:
mydata.ExecuteNonQuery();//执行当前SQL语句,并返回受影响的行数 mydata.ExecuteReader();//执行当行SQL语句,并生成一个OledbDataReader mydata.ExecuteScalar();//执行当行SQL语句,并返回第一行第一列的数据,忽略其它行数据 mydata.getRowsCount(string TabelName);//返回一个表的总行数据
下面说一下,这个AccessData类的分页属性DataPages,WQ.Data下专门有个分页类,来处理分页:
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;//返回一个分页集对象; mydata.Close(); newsTable.PageSize=10;//每页分10行 newsTable.PageIndex=3;//将当前页定位到3页 }
下面在来说一下伪url配置类,这个类不需要实例化和使用,(你的项目里一定要引用wq.dll)只需要对配置文件web.config进行配置就行了。首先在<configuration>节点中加入:
<configSections> <section type="WQ.Rewriter.RewriterConfigSerializerSectionHandler" /> </configSections>
记住这个要加个最前面,然后在<system.web>加入或修改:
<httpModules> <add type="WQ.Rewriter.moduleUrlRewriter" /> </httpModules>
最后配置重写规则:
<configSections> <section type="WQ.Rewriter.RewriterConfigSerializerSectionHandler" /> </configSections> <RewriterConfig> <Rules> <!-- 伪URL重写配置 --> <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就配置完成了,整个项目就可以使用这些伪规则了,注意.net只能托管.aspx文件。
这些类的详细属性和方法说明,在使用的时候都会有提示,不能用大量篇幅全部举例描述和说明了,还有什么疑问的给我email或在群里讨论了。 (编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|