先说一下一个最重要的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="xxx.aspx?id=<%=r["ID"].ToString()%>"><%=r["title"].ToString()%></a></li>
<%}%>
</ul>
如果你想把数据在一个GridView中:
GridView1.DataSource=mydata.ExecuteDataTable();
GridView1.DataBind();
需要说明的是,上面我们没有看到数据库的驱动,因为驱动是在web.config配置文件中取的,所以在使用这个类时,请先配置。
<connectionStrings>
<add name="connstring" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|pub.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>
如果你有多个Access数据库,例:
<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>
配置的时候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");
新闻热点
疑难解答
图片精选