[草稿]定制anf

D:\work\Talent\TalentSolution\bbsSolution\Components\Posts.cs    行: 338

SqlDataProvider  行: 4414

数据还原时使用的用户编号为原数据库的编号,所以需要暂时修改anf插入用户的sp,将编号改为固定,完成后再改回来

删除了ix_forumgroup约束
删除了约束 forumuser_profile

修改forums_User_CreateUpdateDelete,放弃对用户名和email的要求

版本号的问题

倒数据的时候要先修改postdate为原始数据,完成后再改回来@PostDate datetime = null,
用户注册日期也要添加,在sp添加新的参数datecreate
........总体的修改过程:

1.从服务器端复制一个论坛程序到相应的位置
2.在本地对一个新的论坛程序进行改造
3.从本地上传覆盖掉服务器端相应位置论坛的需要自定义的部分
4.将服务器端的原数据库备份
5.将备份下载,在本地还原
6.使用最新数据的原论坛数据库将数据导入到新论坛的数据库
7.备份本地的新论坛的数据库
8.将备份上传到服务器端,将需要使用的新论坛数据库还原

........论坛程序的更换

0.连接字符串的修改
1.数据的导入
2.注册用户时主站和论坛的联系
3.主站首页论坛最新帖子显示的修改

.........注册用户时主站和论坛的联系

1.在新论坛数据库添加forums_User_InsertForMain和forums_User_RemoveforMain
2.修改注册用户时使用的方法,先添加用户到论坛,然后添加用户到主站
3.主站添加用户时,用户编号为使用论坛添加用户后产生的自动编号。因此需要修改主站数据库,将用户表的编号的标识属性去掉。然后将添加用户的sp的编号的output去掉。
4.测试。

..........主站首页论坛最新帖子显示的修改

1.修改提供最新帖子的那个方法。

...........要注意的问题

1.各个dll的替换。


建立新的anf数据库,删除两个约束
到服务器端备份目标数据库,下载到本地
将新备份还原旧的bbs数据库
使用写好的程序将旧bbs的数据导入到新的anf数据库
修改定制新的anf的web项目。

注意倒数据时数据库和正常运行的数据库不一样


 1ALTER    proc forums_User_RemoveforMain
 2@UserID int
 3as
 4BEGIN
 5    -- 删除用户
 6    BEGIN TRAN
 7    
 8    UPDATE forums_Posts set UserID = 0 where UserID = @UserID
 9    
10    if@@ERROR != 0 )
11    begin
12        rollback tran
13        select -1
14    end
15    
16    delete forums_UserProfile where UserID = @UserID
17    
18    if@@ERROR != 0 )
19    begin
20        rollback tran
21        select -1
22    end
23    
24    delete forums_Users where UserID = @UserID
25    
26    if@@ERROR != 0 )
27    begin
28        rollback tran
29        select -1
30    end
31    else
32    begin
33        commit tran
34        select 1
35    end
36
37END

 1ALTER              procedure forums_User_InsertForMain
 2(
 3    @UserID int out,
 4    @UserName   nvarchar (64) ,        
 5    @Password   nvarchar (64),
 6    @Email    nvarchar (128
 7    
 8)
 9AS
10
11SET NOCOUNT ON
12
13-- 创建新用户
14
15BEGIN
16    
17    -- 检查用户名是否存在
18    IF EXISTS(SELECT UserName FROM forums_Users (nolock) WHERE UserName = @UserName )
19        select 2
20    ELSE
21        -- 进一步检查Email地址是否存在
22        IF EXISTS(SELECT Email FROM forums_Users (nolock) WHERE Email = @Email )
23            select 3
24        ELSE
25        BEGIN
26            -- 进一步检查昵称是否存在
27            IF EXISTS(SELECT NickName FROM forums_Users (nolock) WHERE NickName = @UserName AND IsAnonymous = 0)
28                SELECT 6
29            ELSE
30            BEGIN
31                -- 追加新用户
32                INSERT INTO forums_Users 
33                    ( UserName, 
34                    NickName,
35                    Email, 
36                    Password
37                     )
38                VALUES 
39                    ( @UserName
40                    @UserName
41                    @Email
42                    @Password
43                     )
44                
45                IF@@ERROR != 0 )
46                    select -1
47                    
48                -- 获取创建新用户的ID
49                SET @UserID = @@IDENTITY
50                -- 追加用户配置信息
51                INSERT INTO forums_UserProfile 
52                    (
53                    [UserID] ,
54                                                      [timezone]
55                    
56                    )
57                    VALUES
58                    ( @UserID,    
59                                                         0            
60                    )
61
62                IF@@ERROR != 0 )
63                    select -1
64                --增加默认用户角色
65                exec forums_Roles_AddUser @UserID7
66                exec forums_Roles_AddUser @UserID8
67
68                select 1        -- 返回成功代码
69            END
70        END
71    -- 即出存储过程
72    RETURN
73END


posted on 2006-01-24 12:12  Notus|南色的风  阅读(322)  评论(0编辑  收藏  举报