关于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...)|编辑