我的新blog地址: http://notus.cnblogs.com

我的新blog地址: http://notus.cnblogs.com

原创 [Open Source]Stella Forum v1.1 Bugs List收藏

新一篇: C# Programming Guidelines | 旧一篇: [Open Source] Stella Forum v 1.1 公开

关于Stella Forum v1.1

http://blog.csdn.net/notus/archive/2005/03/05/311773.aspx

---------------------------------------------
初始bugs
------------------------------------------------

这次这个安装程序有的时候可以顺利的安装完数据库,但是在向web.config中写入连接字符串时会取不到用户密码的值,造成连接错误,当运行时会提示“用户sa登陆失败”,但是有的时候就可以顺利的完成,问题到底出在什么地方还不清楚,不过好象之前装过1.0版的用户遇到这个麻烦的几率高一些
解决方法如下:
开始-stella forum v1.1 里面有个连接字符串修改工具,你把正确的连接字符串输进去,然后复制加密后的连接字符串,手动修改web.config中的连接字符串,这样问题就应该解决了

---------------------------------------------
2005-3-6 由经典论坛的lbx1979发现的bugs
这两个bugs 可能造成存储过程创建的不完全,请用修改后的sql语句重新创建这两个存储过程
----------------------------------------------

db.sql有错误,如果用查分器运行的话,有两个错误

CREATE PROCEDURE dbo.themes_Update
@tid int,
@tname varchar(50),
@comment varchar(100),
@district int,
@lv smallint
AS
begin tran
update themes set tname=@tname,comment=@comment,district=@district,lv=@lv where tid=@tid
update members set mzone=@tname where manage=@tid
if @@error!=0
    begin
        rollback
    end
else
    begin
        commit
    end

------------
错误描述:
mzone和manage这两个字段不存在,导致错误,这个错误是因为重新调整了斑竹的设置方式,我把数据库里的这两个字段删除了,可是这里忘记改了
解决办法:
把"update members set
mzone=@tname where manage=@tid"删除
----------------


CREATE PROCEDURE dbo.info_Update
@topicSum int,
@artSum int,
@hitSum int,
@memberSum int,
@lrmember varchar(20)
AS
begin tran
update info set topicSum=@topicSum,artSum=@artSum,hitSum=@hitSum,memberSum=@memberSum,lrmember=@lrmember
if @@error!=0
    begin
        rollback
    end
else
    begin
        commit
    end

------------
错误描述:
这里在@lrmember处有个分行,导致运行时错误
解决办法:
把l和r之间的换行去掉

---------------

我付了一份正确的db.sql,大家可以使用那个
http://api.html.533.net/se/db.sql

---------------------------------------------
2005-3-8 由经典论坛的鹦鹉发现的bugs
----------------------------------------------

------------
错误描述:
当添加新版块后会到主页,会发生空引用的错误
原因为
在主页上,最新主题是被缓存到一个hasttable的,这个用版块的编号当键值,取版块主题列表最新的一条记录,页就是说,当版块没有主题的时候,这里面就不保存相应版块的最新主题
当你在后台添加了新的版块时,也就并没有自动往这个hashtable里添新主题,所以当回到主页的时候就发生了引用为空的错误


解决办法:
ThemeArea.ascx.cs 把这个文件的行109处的setUpTopic方法修改如下,增加一个是否为空的判断
----------------

private void setUpTopic()
  {
   if(ntopic!=null)
   {
    //最新主题信息
    this.topic.Text=ntopic.Caption;

    if(ntopic.Caption!="尚没有任何主题")
     this.topic.NavigateUrl=string.Format("../pages/topic.aspx?tid={0}&top={1}",ntopic.ThemeId,ntopic.Tid);

    this.addedName.Text=ntopic.AddedMember;
    if(ntopic.AddedMember!="none")
     this.addedName.NavigateUrl=string.Format("../pages/profile.aspx?mname={0}",ntopic.AddedMember);
    this.addedName.Target="_blank";
    this.addedDate.Text=ntopic.AddedDate.ToString();
   }
   else
   {
    this.topic.Text="尚没有任何主题";
    this.addedName.Text="none";
    this.addedDate.Text="0:0:0";
   }
  }

---------------------------------------------
2005-3-14
----------------------------------------------
------------------------------

如版块中有主题发表,当删除时会发生无法删除的问题。
两个触发器有问题,会造成删除版块的操作无法完成。使用下面的sql语句可以消除这个麻烦

--------------------------

ALTER   TRIGGER topics_Trigger1
ON dbo.topics
FOR DELETE
AS
    delete from replies where replytid in (select  tid from deleted)


ALTER   TRIGGER replies_Trigger1
ON dbo.replies
FOR  DELETE
AS

update info set artsum=artsum-1

update themes set artsum=artsum-1 where tid=(select top 1 themeid from deleted)
    /* IF UPDATE (column_name) ...*/

---------------------------------------------
2005-3-14 由网友凌鑫发现的bugs
----------------------------------------------

---------------------------
空引用的异常

CacheController.cs 行72。
修改代码如下,添加一个null的判断。
注意,以后写程序时,碰到返回类型为数组的方法,若无值,应返回零程度的数组,而不是null,这样可避免这个问题。
-----------------------
foreach(District dist in forum.Districts)
                {
                    if(dist.Themes!=null)
                    {
                        foreach(Theme theme in dist.Themes)
                        {
                            list.Add(theme);
                        }
                    }
                }

发表于 @ 2005年03月06日 16:38:00|评论(loading...)|编辑

新一篇: C# Programming Guidelines | 旧一篇: [Open Source] Stella Forum v 1.1 公开

评论

#notus 发表于2005-03-10 14:53:00  IP: 202.110.209.*
你用的管理的用户必须数据库表中字段role的值是adminer,也就是用户角色是管理员才行,否则是进不了的
如果是用role=adminer的登陆,还进不了,那可能的问题一看是否改了web.config的设置,二就是机器是否禁用了cookie,因为forms验证是结合cookie进行的
#Lbx1979 发表于2005-03-10 10:42:00  IP: 202.102.145.*
今天发现管理进不去了, 每次都要输入用户名和口令, 然后就返回首页, 点击管理又要求输入用户名口令!!
#Lbx1979 发表于2005-03-11 16:02:00  IP: 202.102.145.*
现在这个程序如果要运行在别的数据库上, 是不是修改的代码太多了
businessLogic都得重新写吧
#notus 发表于2005-03-11 20:15:00  IP: 202.110.209.*
如果考虑到数据库的更换,可以使用petshop那样的模式,通过使用静态工厂模式用一个接口把数据操作对业务层隐藏起来,这样数据层的更改就不会影响到更上一层
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © Notus