一直在使用sqlserver 等数据库,没想到遇到一个需要access数据库的小程序 ,郁闷的很:
首先数据库连接字符串:
<appSettings>
<add key="SQLConnString" value="provider=microsoft.jet.oledb.4.0;data source="/>
<add key="dbPath" value="~/App_Data/#¥%¥#%.config"/>
</appSettings>
数据库连接类里:
public static readonly string CONN_STRING_NON_DTC = System.Configuration.ConfigurationManager.AppSettings["SQLConnString"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]) + ";Jet OLEDB:Database Password=$$$g%%%s@@@;";
access数据库里表联合查询的话,不能有相同的字段名,如两个表的编号列名都是ID的话,联合查询会报错:ds.Fill()至少一个参数未指定
access数据库order by 一个会出现重复值的列,会使 top 失效
没办法改成用下面的方式:
select top 5 ID,newsTitle from (select top 5 ID,newsTitle from news where newsClassID=1 order by isTop desc)