近来,公司接手一个项目,由于原系统数据库一直采用微软企业库1.0开发,然而分页却是采用的DataGrid,而现在我们必须自己制作分页按钮,因此DataGrid就显得有点苍白,前面我一直采用sql语名进行分页,但总感觉有点繁琐。以前在2003中通过SqlDataAdapter来进行DataSet填充,然而企业库能否采用呢,其实答案是肯定的,只是我没摸到而已。昨日经过摸索终于在EL3.1与EL1.0中测试成功!
EL1.0
……………………………
Database db=DatabaseFactory.CreateDatabase("Database Instance");
DBCommandWrapper cmd=db.GetSqlStringCommandWrapper("select top 10 * from passport");
SqlDataAdapter das=(SqlDataAdapter) db.GetDataAdapter();
das.SelectCommand=new SqlCommand("select top 10 * from passport",(SqlConnection) db.GetConnection());
DataSet ds=new DataSet();
das.Fill(ds,1,5,"table");
……………………………
EL3.1相对简单一点,没有那么多的强制转换
……………………………
Database db = DatabaseFactory.CreateDatabase("AnchorSQL");
DbCommand cmd = db.GetSqlStringCommand("select top 10 * from passport");
cmd.Connection = db.CreateConnection();
DbDataAdapter da = db.GetDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, 1, 5, "table");
……………………………