DVPHP2论坛 对 PW 7.3.2的数据转移

下载:http://bbs.crsite.cn/read.php?tid=273

在原有DVPHP 2平台上,运行本论坛已经有一段时间,对于DVPHP,个人感觉跟DISCUZ,PW还是有一定的差距

在实施转移的时候,尽然没发现支持的转换程序
所以自己写了一个。 有感兴趣的可以研究下
还是声明下:此程序只是满足自已论坛数据转换开发的,并不是很完善

 

  1 
  2       //来源:http://bbs.crsite.cn/read.php?tid=273
  3 
  4              #region 帖子标题 
  5             MySqlCommand __m = new MySqlCommand(); 
  6             __m.Connection = new MySqlConnection(datconn); 
  7             __m.Connection.Open(); 
  8   
  9             __m.CommandText = "TRUNCATE TABLE cr_members";     
 10             __m.ExecuteNonQuery();  
 11             __m.CommandText = "TRUNCATE TABLE cr_memberdata"
 12             __m.ExecuteNonQuery(); 
 13             __m.CommandText = "TRUNCATE TABLE cr_threads"
 14             __m.ExecuteNonQuery(); 
 15             __m.CommandText = "TRUNCATE TABLE cr_tmsgs"
 16             __m.ExecuteNonQuery(); 
 17             __m.CommandText = "TRUNCATE TABLE cr_forums"
 18             __m.ExecuteNonQuery(); 
 19      
 20             MySqlCommand mc = new MySqlCommand("select * from dv_topic"new MySqlConnection(connStr)); 
 21             mc.Connection.Open(); 
 22             MySqlDataReader reader = mc.ExecuteReader(CommandBehavior.CloseConnection); 
 23 
 24             MySqlCommand insert = new MySqlCommand("insert into cr_threads(fid,author,authorid,subject,postdate,lastpost,lastposter,tid,ifcheck) values (?fid,?author,?authorid,?subject,?postdate,?lastpost,?lastposter,?tid,1)"
 25                 new MySqlConnection(datconn)); 
 26             insert.Connection.Open(); 
 27             insert.Parameters.Add(new MySqlParameter("?fid", MySqlDbType.Int32, 4)); 
 28             insert.Parameters.Add(new MySqlParameter("?author", MySqlDbType.String, 40)); 
 29             insert.Parameters.Add(new MySqlParameter("?authorid", MySqlDbType.Int32, 4)); 
 30             insert.Parameters.Add(new MySqlParameter("?subject", MySqlDbType.String, 40)); 
 31             insert.Parameters.Add(new MySqlParameter("?postdate", MySqlDbType.Int32)); 
 32             insert.Parameters.Add(new MySqlParameter("?lastpost", MySqlDbType.Int32)); 
 33             insert.Parameters.Add(new MySqlParameter("?lastposter", MySqlDbType.String)); 
 34             insert.Parameters.Add(new MySqlParameter("?tid", MySqlDbType.Int32, 4)); 
 35             while (reader.Read()) 
 36             { 
 37                 insert.Parameters[0].Value = reader["boardid"]; 
 38                 insert.Parameters[1].Value = reader["postusername"]; 
 39                 insert.Parameters[2].Value = reader["postuserid"]; 
 40                 insert.Parameters[3].Value = reader["title"]; 
 41                 insert.Parameters[4].Value = reader["dateandtime"]; 
 42                 insert.Parameters[5].Value = reader["lastposttime"]; 
 43                 insert.Parameters[6].Value = reader["lastpost"].ToString().Split('$')[0]; 
 44                 insert.Parameters[7].Value = reader["topicid"]; 
 45                 insert.ExecuteNonQuery(); 
 46             } 
 47             reader.Close(); 
 48             insert.Connection.Close(); 
 49             insert.Dispose(); 
 50             #endregion 
 51             #region 帖子内容 
 52             mc = new MySqlCommand(); 
 53             mc.CommandText = "select rootid,body,ip from dv_bbs1 where parentid=0"
 54             mc.Connection = new MySqlConnection(connStr); 
 55             mc.Connection.Open(); 
 56             reader = mc.ExecuteReader(CommandBehavior.CloseConnection); 
 57             //insert.Parameters.Clear(); 
 58             insert = new MySqlCommand(); 
 59             insert.Connection = new MySqlConnection(datconn); 
 60             insert.Connection.Open(); 
 61             insert.CommandText = "insert into cr_tmsgs(tid,userip,ipfrom,content,aid,buy,magic) values (?tid,?userip,?ipfrom,?content,'','','')"
 62             insert.Parameters.Add(new MySqlParameter("?tid", MySqlDbType.Int32)); 
 63             insert.Parameters.Add(new MySqlParameter("?userip", MySqlDbType.String, 40)); 
 64             insert.Parameters.Add(new MySqlParameter("?ipfrom", MySqlDbType.String, 40)); 
 65             insert.Parameters.Add(new MySqlParameter("?content", MySqlDbType.Text)); 
 66             while (reader.Read()) 
 67             { 
 68 
 69                 insert.Parameters[0].Value = int.Parse(reader["rootid"].ToString()); 
 70                 insert.Parameters[1].Value = reader["ip"].ToString(); 
 71                 insert.Parameters[2].Value = "未知"
 72                 insert.Parameters[3].Value =  this.BodyUBB(reader["body"].ToString()); 
 73                 insert.ExecuteNonQuery(); 
 74              } 
 75             reader.Close(); 
 76             insert.Connection.Close(); 
 77             insert.Dispose(); 
 78             #endregion 
 79             #region 用户 
 80             mc = new MySqlCommand(); 
 81             mc.CommandText = "select * from dv_user"
 82             mc.Connection = new MySqlConnection(connStr); 
 83             mc.Connection.Open(); 
 84             reader = mc.ExecuteReader(CommandBehavior.CloseConnection); 
 85             insert = new MySqlCommand(); 
 86             insert.Connection = new MySqlConnection(datconn); 
 87             insert.Connection.Open(); 
 88             insert.CommandText = "insert into cr_members(uid,username,password,email,gender,regdate,userstatus,memberid,signature,introduce,aliww,banpm) values (?uid,?username,?password,?email,?gender,?regdate,?userstatus,8,'','','','')"
 89             insert.Parameters.Add(new MySqlParameter("?uid", MySqlDbType.Int32)); 
 90             insert.Parameters.Add(new MySqlParameter("?username", MySqlDbType.String, 40)); 
 91             insert.Parameters.Add(new MySqlParameter("?password", MySqlDbType.String, 40)); 
 92             insert.Parameters.Add(new MySqlParameter("?email", MySqlDbType.String)); 
 93             insert.Parameters.Add(new MySqlParameter("?gender", MySqlDbType.Int32)); 
 94             insert.Parameters.Add(new MySqlParameter("?regdate", MySqlDbType.Int32)); 
 95             insert.Parameters.Add(new MySqlParameter("?userstatus", MySqlDbType.Int32)); 
 96             //reader.Read(); 
 97             while (reader.Read()) 
 98             { 
 99                 try 
100                 { 
101                     insert.Parameters[0].Value = reader[0]; 
102                     insert.Parameters[1].Value = reader["username"]; 
103                     insert.Parameters[2].Value = reader["userpassword"]; 
104                     insert.Parameters[3].Value = reader["useremail"]; 
105                     insert.Parameters[4].Value = reader["usersex"]; 
106                     insert.Parameters[5].Value = reader["joindate"]; 
107                     insert.Parameters[6].Value = 1024
108                     insert.ExecuteNonQuery(); 
109                 } 
110                 catch(Exception E) 
111                 {  
112                     continue
113                 } 
114                 __m.CommandText = "INSERT INTO cr_memberdata VALUES ({0}, {1}, 0, 0, 0, 0, 0, {2}, {2}, 0, 0, 0, 0, 0, 0, 0, '{3}', 0, '', 1244454413, 0, '');"
115                 __m.CommandText = string.Format(__m.CommandText, 
116                     reader[0].ToString(), 
117                     reader["usertopic"].ToString(), 
118                     reader["lastlogin"].ToString(), 
119                     reader["userlastip"].ToString() 
120                     ); 
121                 __m.ExecuteNonQuery(); 
122             } 
123             reader.Close();           
124             #endregion 
125             mc = new MySqlCommand(); 
126             mc.CommandText = "SELECT boardid,boardtype,parentid,parentstr,depth,rootid,child,todaynum,orders,readme,boardmaster,postnum,topicnum,indeximg FROM dv_Board"
127             mc.Connection = new MySqlConnection(connStr); 
128             mc.Connection.Open(); 
129             reader = mc.ExecuteReader(CommandBehavior.CloseConnection); 
130             while (reader.Read()) 
131             { 
132                 string s = "INSERT INTO cr_forums (fid,fup,ifsub,childid,type,logo,name,descrip,vieworder,forumadmin,fupadmin) VALUES(" + 
133                     reader["boardid"].ToString() + "," + 
134                     reader["parentid"].ToString() + ",0," + 
135                     (reader["depth"].ToString() == "0" ? "1" : "0"+ ",'" + 
136                     (reader["depth"].ToString() == "0" ? "category" : "forum"+ "','','" + 
137                     reader[1].ToString() + "','" + reader["readme"].ToString() + "'," + 
138                         reader["orders"].ToString() + ",'" + reader["boardmaster"].ToString() + "','')"
139                 __m.CommandText = s; 
140                 __m.ExecuteNonQuery(); 
141             } 
142             reader.Close(); 
143             __m.Connection.Close(); 
144             __m.Dispose();  
145             Console.WriteLine("=============================================="); 
146 

 

 

posted @ 2009-06-24 01:52  依诺  阅读(981)  评论(0编辑  收藏  举报