[草稿]定制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项目。

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


 1 ALTER      proc  forums_User_RemoveforMain
 2 @UserID   int
 3 as
 4 BEGIN
 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
37 END

 1 ALTER                procedure  forums_User_InsertForMain
 2 (
 3      @UserID   int  out,
 4      @UserName     nvarchar  ( 64 ) ,        
 5      @Password     nvarchar  ( 64 ),
 6      @Email      nvarchar  ( 128
 7     
 8 )
 9 AS
10
11 SET  NOCOUNT  ON
12
13 --  创建新用户
14
15 BEGIN
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  @UserID 7
66                  exec  forums_Roles_AddUser  @UserID 8
67
68                  select   1          --  返回成功代码
69              END
70          END
71      --  即出存储过程
72      RETURN
73 END


你可能感兴趣的:(a)