自定义分页

 
         public   string  GetTVPager( string  sFileName, ref   int  CurrentPage, int  TotalNumber, int  MaxPerPage, bool  ShowTotal, bool  ShowAllPages, string  strUnit)
        
{
            
int TotalPage;
            
string strUrl;
            
if(TotalNumber==0||MaxPerPage==0)
            
{
                
return String.Empty;
            }

            
if(TotalNumber%MaxPerPage==0)
            
{
                TotalPage
=TotalNumber/MaxPerPage;
            }

            
else
            
{
                TotalPage
=TotalNumber/MaxPerPage+1;
            }

            
if(CurrentPage>TotalPage) CurrentPage=TotalPage;
            StringBuilder sbPager
=new StringBuilder(512);
            sbPager.Append(
"<table align='center'><tr><td>");
            
if(ShowTotal) sbPager.Append("共 <b>").Append(TotalNumber).Append("</b> ").Append(strUnit).Append("&nbsp;&nbsp;");
            strUrl
=JoinChar(sFileName);
            
if(CurrentPage<2)
            
{
                sbPager.Append(
"首页 上一页&nbsp;");
            }

            
else
            
{
                sbPager.Append(
"<a href='").Append(strUrl).Append("page=1'>首页</a>&nbsp;")
                       .Append(
"<a href='").Append(strUrl).Append("page=").Append(CurrentPage-1).Append("'>上一页</a>&nbsp;");
            }

            
if(CurrentPage>=TotalPage)
            
{
                sbPager.Append(
"下一页 尾页");
            }

            
else
            
{
                sbPager.Append(
"<a href='").Append(strUrl).Append("page=").Append((CurrentPage+1)).Append("'>下一页</a>&nbsp;")
                    .Append(
"<a href='").Append(strUrl).Append("page=").Append(TotalPage).Append("'>尾页</a>");
            }

            sbPager.Append(
"&nbsp;页次:<strong><font color=red>").Append(CurrentPage).Append("</font>/").Append(TotalPage).Append("</strong>页 ");
            sbPager.Append(
"&nbsp;<b>").Append(MaxPerPage).Append("</b>").Append(strUnit).Append("/页");
            
if(ShowAllPages==true)
            
{
                
if(TotalPage>1)
                
{
                    sbPager.Append(
"&nbsp;&nbsp;转到第<input class='TextBox' type='text' name='page' size='3' maxlength='5' value='")
                           .Append(CurrentPage).Append(
"' onKeyPress=/"if (event.keyCode==13) window.location='").Append(strUrl)
                           .Append("page=").Append("'+this.value;/"'>页").Append("&nbsp;<input type='button' class='TextBox' value='Go' οnclick=/"javascript: window.location='")
                           .Append(strUrl).Append("page=").Append("'+page.value;/"'>");
                }

            }

            sbPager.Append(
"</td></tr></table>");
            
return sbPager.ToString();
        }
     public   string  JoinChar( string  strUrl)
        
{
            
string url=String.Empty;
            
if(strUrl==String.Empty)
            
{
                
return String.Empty;
            }

            
if(strUrl.IndexOf("?")<strUrl.Length-1)
            
{
                
if(strUrl.IndexOf("?")>0)
                
{
                    
if(strUrl.IndexOf("&")<strUrl.Length-1)
                    
{
                        url
=strUrl+"&";
                    }

                    
else
                    
{
                        url
=strUrl;
                    }

                }

                
else
                
{
                    url
=strUrl+"?";
                }

            }

            
else
            
{
                url
=strUrl;
            }

            
return url;
        }

  

         public   string  GetTVList( int  BTypeID, int  STypeID, string  condition, ref   int  TotalNumber, ref   int  _pageIndex, int  _rows)
        
{
            
string fChannelName=null;
            
string TypeName=null;
            
string fHits=null;
            
string connStr=ConfigurationSettings.AppSettings["connStr"];
            SqlConnection conn
=new SqlConnection(connStr);
            
string strSql="SELECT a.*,b.fTypeName AS TypeName FROM TV_Channel a INNER JOIN TV_Channel_Type b ON a.fTypeID = b.fTypeID INNER JOIN TV_Channel_Special c ON a.fSpecialID = c.fSpecialID";
            
if (BTypeID==1&&condition==String.Empty)
            
{
                strSql
+=" WHERE a.fTypeID = @STypeID";
            }

            
if(BTypeID==2)
            
{
                strSql
+=" where a.fSpecialID=@STypeID";
            }

            
if(condition!=String.Empty)
            
{
                strSql
+=" where "+condition;
            }

            strSql
+=" ORDER BY a.fUpdateTime DESC";
            SqlCommand comm
=new SqlCommand(strSql,conn);
            comm.Parameters.Add(
"@StypeID",SqlDbType.Int);
            comm.Parameters[
"@StypeID"].Value=STypeID;
            StringBuilder sbTVList
=new StringBuilder(1024);
            sbTVList.Append(
"<table width='100%' border='0' cellpadding='0' cellspacing='1' bgcolor='#FFFFFF'>/n")
                    .Append(
"<tr>/n<td align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>类别</td>/n")
                    .Append(
"<td width='24%' height='23' align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>频道(发布者)</td>/n")
                    .Append(
"<td height='23' align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>当前节目(点击查看本周节目表)</td>/n")
                    .Append(
"<td width='5%' height='23' align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>播放</td>/n")
                    .Append(
"<td width='6%' height='23' align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>点击</td>/n")
                    .Append(
"<td width='11%' height='23' align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>推荐指数</td>/n")
                    .Append(
" </tr>/n<tr>/n<td colspan='6' align='center' bgcolor='#819BCD'><img src='images/spacer.gif' width='1' height='1'></td>/n")
                    .Append(
"</tr>/n");
            SqlDataAdapter da
=new SqlDataAdapter();
            da.SelectCommand
=comm;
            DataSet ds
=new DataSet();
            conn.Open();
            da.Fill(ds);
            conn.Close();
            TotalNumber
=ds.Tables[0].Rows.Count;
            
int i=0;
            
foreach(DataRow dr in ds.Tables[0].Rows)
            
{
                
if(TotalNumber%_rows==0)
                
{
                    
if(_pageIndex>TotalNumber/_rows) _pageIndex=TotalNumber/_rows;
                }

                
else
                
{
                    
if(_pageIndex>TotalNumber/_rows) _pageIndex=TotalNumber/_rows+1;
                }


                
if(_pageIndex>0)
                
{
                    
if(i<(_pageIndex-1)*_rows) {++i; continue;};
                    
if(i>_pageIndex*_rows-1break;
                }

                TypeName
=Convert.IsDBNull(dr["TypeName"])?String.Empty:dr["TypeName"].ToString();
                fChannelName
=Convert.IsDBNull(dr["fChannelName"])?String.Empty:dr["fChannelName"].ToString();
                fHits
=Convert.IsDBNull(dr["fHits"])?String.Empty:dr["fHits"].ToString();
                
if(i%2==0)
                
{
                    sbTVList.Append(
"<tr bgcolor='#ffffff'>/n");
                }

                
else
                
{
                    sbTVList.Append(
"<tr bgcolor='#DFF5FF'>/n");
                }

                sbTVList.Append(
"<td height='22' align='center' class='number2'>/n").Append(TypeName).Append("</td>/n")
                        .Append(
"<td height='22'>").Append(fChannelName).Append("</td>/n")
                        .Append(
"<td>&nbsp;</td>/n")
                        .Append(
"<td align='center'><a href='mdplay.asp?id=88021' target='_blank'><img src='images/bt.gif' alt='请安装相应软件后点击收看' width='14' height='15' border='0'></a></td>")
                        .Append(
"<td align='center' class='number2'>").Append(fHits).Append("</td>/n")
                        .Append(
"<td align='center'><img src='images/soutv_5star.gif' width='60' height='11'></td>")
                        .Append(
"</tr>/n");
                
++i;
            }

            sbTVList.Append(
"</table>/n");
            
return sbTVList.ToString();
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值