PageRenderTime 58ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/dotNETCMS/Foosun.Web/Update/FS4/Update.aspx.cs

#
C# | 1160 lines | 784 code | 69 blank | 307 comment | 102 complexity | b723b9032fcadfabe061d25597c3a90f MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. using System;
  2. using System.Data;
  3. using System.Data.SqlClient;
  4. using System.Data.OleDb;
  5. using System.Data.Common;
  6. using System.Configuration;
  7. using System.Text.RegularExpressions;
  8. using System.Collections;
  9. using System.Web;
  10. using System.Web.Security;
  11. using System.Web.UI;
  12. using System.Web.UI.WebControls;
  13. using System.Web.UI.WebControls.WebParts;
  14. using System.Web.UI.HtmlControls;
  15. using Foosun.DALProfile;
  16. namespace Foosun.Web.Update.FS4
  17. {
  18. public partial class Update : System.Web.UI.Page
  19. {
  20. public static IDbBase Provider = new Foosun.AccessDAL.DbBase();
  21. public static bool IsAcc = Regex.Equals(ConfigurationManager.AppSettings["WebDAL"].ToString(), "Foosun.AccessDAL");
  22. public static string SourConnstr = string.Empty;
  23. public static string TagConnstr = Foosun.Config.DBConfig.CmsConString;
  24. public static readonly string Prefix = Foosun.Config.UIConfig.dataRe;
  25. public static int GisSQL = 1;
  26. protected void Page_Load(object sender, EventArgs e)
  27. {
  28. Page.Server.ScriptTimeout = 1000;
  29. string gSet = Request.QueryString["set"];
  30. if (gSet != null && gSet != string.Empty)
  31. {
  32. string gtype = Request.QueryString["type"];
  33. string GConnstr = Request.QueryString["connstr"];
  34. string MConnstr = Request.QueryString["mConnstr"];
  35. string isSQL = Request.QueryString["isSQL"];
  36. if (GConnstr != null && GConnstr != string.Empty)
  37. {
  38. SourConnstr = GConnstr;
  39. if (isSQL != "1")
  40. {
  41. GisSQL = 0;
  42. if (gtype == "news" || gtype == "class" || gtype == "special" || gtype == "gen")
  43. {
  44. SourConnstr = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + Server.MapPath(GConnstr) + ";Persist Security Info=True;";
  45. }
  46. else
  47. {
  48. SourConnstr = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + Server.MapPath(MConnstr) + ";Persist Security Info=True;";
  49. }
  50. }
  51. else
  52. {
  53. GisSQL = 1;
  54. }
  55. StatConvertTodotNETCMS(gtype, isSQL);
  56. }
  57. else
  58. {
  59. Response.Write("请正确填写连接字符串或者ACCESS路径");
  60. Response.End();
  61. }
  62. }
  63. }
  64. public void StatConvertTodotNETCMS(string gtype, string isSQL)
  65. {
  66. IDataReader dr = null;
  67. int i = 0;
  68. int m = 0;
  69. string sql = string.Empty;
  70. switch (gtype)
  71. {
  72. case "news":
  73. sql = "select * from FS_NS_News order by id asc";
  74. if (GisSQL != 1)
  75. {
  76. OleDbConnection con = new OleDbConnection(SourConnstr);
  77. con.Open();
  78. OleDbCommand cmd = new OleDbCommand(sql, con);
  79. dr = cmd.ExecuteReader();
  80. }
  81. else
  82. {
  83. dr = SqlHelper.ExecuteReader(SourConnstr, CommandType.Text, sql, null);
  84. }
  85. while (dr.Read())
  86. {
  87. #region 转换开头
  88. string NewsID = dr["NewsID"].ToString();
  89. try
  90. {
  91. if (NewsID.Length > 12)
  92. {
  93. NewsID = NewsID.Substring(0, 12);
  94. }
  95. int NewsType = 0;//IsURL
  96. if (dr["IsURL"].ToString() == "1")
  97. {
  98. NewsType = 2;
  99. }
  100. if (dr["isPicNews"].ToString() == "1")
  101. {
  102. NewsType = 1;
  103. }
  104. string ClassID = dr["ClassID"].ToString();
  105. if (ClassID.Length > 12)
  106. {
  107. ClassID = ClassID.Substring(0, 12);
  108. }
  109. string NewsProperty = "0,0,0,0,0,0,0,0";
  110. DateTime CreatTime = DateTime.Now;
  111. if (Foosun.Common.Input.IsDate(dr["addtime"].ToString()))
  112. {
  113. CreatTime = DateTime.Parse(dr["addtime"].ToString());
  114. }
  115. int ContentPicTF = 0;
  116. if (dr["IsAdPic"].ToString() == "1")
  117. {
  118. ContentPicTF = 1;
  119. }
  120. string CheckStat = "0|0|0|0";
  121. int isLock = 0;
  122. if (dr["isLock"].ToString() == "1")
  123. {
  124. CheckStat = "1|1|0|0";
  125. isLock = 1;
  126. }
  127. int isRecyle = 0;
  128. if (dr["isRecyle"].ToString() == "1")
  129. {
  130. isRecyle = 1;
  131. }
  132. if (IsAcc) //4.0sql转换到.net access
  133. {
  134. OleDbParameter[] param = new OleDbParameter[2];
  135. //param[0] = new OleDbParameter("@Content", OleDbType.LongVarWChar,300000);
  136. //param[0].Value = dr["Content"].ToString();
  137. param[0] = new OleDbParameter("@NewsID", OleDbType.LongVarChar, 12);
  138. param[0].Value = NewsID;
  139. param[1] = new OleDbParameter("@ClassID", OleDbType.LongVarChar, 12);
  140. param[1].Value = ClassID;
  141. string insertsql = "insert into " + Prefix + "News(NewsID,NewsType,OrderID,NewsTitle,sNewsTitle,TitleColor,TitleITF,TitleBTF,CommLinkTF,SubNewsTF,URLaddress,PicURL,SPicURL,ClassID";
  142. insertsql += ",SpecialID,Author,Souce,Tags,NewsProperty,NewsPicTopline,Templet,Content,Metakeywords,Metadesc,naviContent,Click,CreatTime,EditTime,SavePath,FileName,FileEXName";
  143. insertsql += ",isDelPoint,Gpoint,iPoint,GroupNumber,ContentPicTF,ContentPicURL,ContentPicSize,CommTF,DiscussTF,TopNum,VoteTF,CheckStat,isLock,isRecyle,SiteID,DataLib,DefineID,isVoteTF";
  144. insertsql += ",Editor,isHtml,isConstr,isFiles,vURL";
  145. insertsql += ") values (";
  146. insertsql += "@NewsID," + NewsType + "," + Convert.ToInt32(dr["PopId"].ToString()) + ",'" + dr["NewsTitle"].ToString() + "','" + dr["CurtTitle"].ToString() + "','" + dr["TitleColor"].ToString() + "'," + Convert.ToInt16(dr["TitleItalic"].ToString()) + "," + Convert.ToInt16(dr["titleBorder"].ToString()) + "," + Convert.ToInt16(dr["isShowReview"].ToString()) + ",0,'" + dr["URLAddress"].ToString() + "','" + dr["NewsPicFile"].ToString() + "','" + dr["NewsSmallPicFile"].ToString() + "',@ClassID";
  147. insertsql += ",'0','" + dr["Author"].ToString() + "','" + dr["Source"].ToString() + "','" + (dr["Keywords"].ToString()).Replace(",", "|") + "','" + NewsProperty + "',0,'" + dr["Templet"].ToString() + "','" + dr["Content"].ToString() + "','','','" + dr["NewsNaviContent"].ToString() + "'," + Convert.ToInt32(dr["Hits"].ToString()) + ",'" + CreatTime + "','" + CreatTime + "','" + dr["SaveNewsPath"].ToString() + "','" + dr["FileName"].ToString() + "','." + dr["FileExtName"].ToString() + "'";
  148. insertsql += "," + Convert.ToInt32(dr["isPop"].ToString()) + ",0,0,''," + ContentPicTF + ",'" + dr["AdPicAdress"].ToString() + "','" + (dr["AdPicWH"].ToString()).Replace(",", "|") + "',1,0,0,0,'" + CheckStat + "'," + isLock + "," + isRecyle + ",'0','" + Prefix + "news',0,0";
  149. insertsql += ",'" + dr["Editor"].ToString() + "',0,0,0,''";
  150. insertsql += ")";
  151. SqlHelper.ExecuteNonQuery(TagConnstr, CommandType.Text, insertsql, param);
  152. }
  153. else
  154. {
  155. SqlParameter[] param = new SqlParameter[3];
  156. param[0] = new SqlParameter("@Content", SqlDbType.NText);
  157. param[0].Value = dr["Content"].ToString();
  158. param[1] = new SqlParameter("@NewsID", SqlDbType.NVarChar, 12);
  159. param[1].Value = NewsID;
  160. param[2] = new SqlParameter("@ClassID", SqlDbType.NVarChar, 12);
  161. param[2].Value = ClassID;
  162. string insertsql = "insert into " + Prefix + "News(NewsID,NewsType,OrderID,NewsTitle,sNewsTitle,TitleColor,TitleITF,TitleBTF,CommLinkTF,SubNewsTF,URLaddress,PicURL,SPicURL,ClassID";
  163. insertsql += ",SpecialID,Author,Souce,Tags,NewsProperty,NewsPicTopline,Templet,Content,Metakeywords,Metadesc,naviContent,Click,CreatTime,EditTime,SavePath,FileName,FileEXName";
  164. insertsql += ",isDelPoint,Gpoint,iPoint,GroupNumber,ContentPicTF,ContentPicURL,ContentPicSize,CommTF,DiscussTF,TopNum,VoteTF,CheckStat,isLock,isRecyle,SiteID,DataLib,DefineID,isVoteTF";
  165. insertsql += ",Editor,isHtml,isConstr,isFiles,vURL";
  166. insertsql += ") values (";
  167. insertsql += "@NewsID," + NewsType + "," + Convert.ToInt32(dr["PopId"].ToString()) + ",'" + dr["NewsTitle"].ToString() + "','" + dr["CurtTitle"].ToString() + "','" + dr["TitleColor"].ToString() + "'," + Convert.ToInt16(dr["TitleItalic"].ToString()) + "," + Convert.ToInt16(dr["titleBorder"].ToString()) + "," + Convert.ToInt16(dr["isShowReview"].ToString()) + ",0,'" + dr["URLAddress"].ToString() + "','" + dr["NewsPicFile"].ToString() + "','" + dr["NewsSmallPicFile"].ToString() + "',@ClassID";
  168. insertsql += ",'0','" + dr["Author"].ToString() + "','" + dr["Source"].ToString() + "','" + (dr["Keywords"].ToString()).Replace(",", "|") + "','" + NewsProperty + "',0,'" + dr["Templet"].ToString() + "',@Content,'','','" + dr["NewsNaviContent"].ToString() + "'," + Convert.ToInt32(dr["Hits"].ToString()) + ",'" + CreatTime + "','" + CreatTime + "','" + dr["SaveNewsPath"].ToString() + "','" + dr["FileName"].ToString() + "','." + dr["FileExtName"].ToString() + "'";
  169. insertsql += "," + Convert.ToInt32(dr["isPop"].ToString()) + ",0,0,''," + ContentPicTF + ",'" + dr["AdPicAdress"].ToString() + "','" + (dr["AdPicWH"].ToString()).Replace(",", "|") + "',1,0,0,0,'" + CheckStat + "'," + isLock + "," + isRecyle + ",'0','" + Prefix + "news',0,0";
  170. insertsql += ",'" + dr["Editor"].ToString() + "',0,0,0,''";
  171. insertsql += ")";
  172. SqlHelper.ExecuteNonQuery(TagConnstr, CommandType.Text, insertsql, param);
  173. }
  174. i++;
  175. }
  176. catch(Exception ex)
  177. {
  178. m++;
  179. Foosun.Common.Public.saveConvertLogFiles("新闻ID:" + dr["NewsID"].ToString(), ex.ToString());
  180. }
  181. #endregion
  182. }
  183. Response.Write("√ 成功转换新闻" + i + "条,转换失败" + m + "条.");
  184. Response.End();
  185. dr.Close();
  186. //con.Close();
  187. break;
  188. case "class":
  189. sql = "select * from FS_NS_NewsClass order by id asc";
  190. if (GisSQL != 1)
  191. {
  192. OleDbConnection con = new OleDbConnection(SourConnstr);
  193. con.Open();
  194. OleDbCommand cmd = new OleDbCommand(sql, con);
  195. dr = cmd.ExecuteReader();
  196. }
  197. else
  198. {
  199. dr = SqlHelper.ExecuteReader(SourConnstr, CommandType.Text, sql, null);
  200. }
  201. while (dr.Read())
  202. {
  203. string ClassID = dr["ClassID"].ToString();
  204. try
  205. {
  206. if (ClassID.Length > 12)
  207. {
  208. ClassID = ClassID.Substring(0, 12);
  209. }
  210. string ParentID = dr["ParentID"].ToString();
  211. if (ParentID.Length > 12)
  212. {
  213. ParentID = ParentID.Substring(0, 12);
  214. }
  215. int Checkint = 0;
  216. DateTime Addtime = DateTime.Now;
  217. if (Foosun.Common.Input.IsDate(dr["Addtime"].ToString()))
  218. {
  219. Addtime = DateTime.Parse(dr["Addtime"].ToString());
  220. }
  221. if (IsAcc) //4.0sql转换到.net access
  222. {
  223. OleDbParameter[] param = new OleDbParameter[2];
  224. param[0] = new OleDbParameter("@ClassID", OleDbType.LongVarChar, 12);
  225. param[0].Value = ClassID;
  226. param[1] = new OleDbParameter("@ParentID", OleDbType.LongVarChar, 12);
  227. param[1].Value = ParentID;
  228. string insertsql = "insert into " + Prefix + "news_Class(ClassID,ClassCName,ClassEName,ParentID,IsURL,OrderID,URLaddress,[Domain],ClassTemplet,ReadNewsTemplet,SavePath,SaveClassframe,Checkint,ClassSaveRule";
  229. insertsql += ",ClassIndexRule,NewsSavePath,NewsFileRule,PicDirPath,ContentPicTF,ContentPICurl,ContentPicSize,InHitoryDay,DataLib,SiteID,NaviShowtf,NaviPIC,NaviContent,MetaKeywords,MetaDescript,isDelPoint,Gpoint";
  230. insertsql += ",iPoint,GroupNumber,FileName,isLock,isRecyle,NaviPosition,NewsPosition,isComm,Defineworkey,CreatTime,isPage,PageContent,ModelID,isunHTML";
  231. insertsql += ") values (";
  232. insertsql += "@ClassID,'" + dr["ClassName"].ToString() + "','" + dr["ClassEName"].ToString() + "',@ParentID," + Convert.ToInt32(dr["IsURL"].ToString()) + "," + Convert.ToInt32(dr["OrderID"].ToString()) + ",'" + dr["UrlAddress"].ToString() + "','" + dr["Domain"].ToString() + "','" + dr["Templet"].ToString() + "','" + dr["NewsTemplet"].ToString() + "','" + dr["SavePath"].ToString() + "','',0,'" + dr["ClassEName"].ToString() + "/index.html'";
  233. insertsql += ",'{@year04}-{@month}/{@day}','{@year04}{@month}','{@year04}-{@month}-{@day}-{@hour}-{@minute}',''," + Convert.ToInt32(dr["IsAdPic"].ToString()) + ",'" + dr["AdPicAdress"].ToString() + "','" + (dr["AdPicWH"].ToString()).Replace(",", "|") + "'," + Convert.ToInt32(dr["Oldtime"].ToString()) + ",'" + Prefix + "news','0'," + Convert.ToInt32(dr["isShow"].ToString()) + ",'" + dr["ClassNaviPic"].ToString() + "','" + dr["ClassNaviContent"].ToString() + "','" + dr["ClassKeywords"].ToString() + "','" + dr["Classdescription"].ToString() + "'," + Convert.ToInt32(dr["isPop"].ToString()) + ",0";
  234. insertsql += ",0,'','." + dr["FileExtName"].ToString() + "',0," + Convert.ToInt32(dr["ReycleTF"].ToString()) + ",'','',1,'','" + Addtime + "',0,'','',0";
  235. insertsql += ")";
  236. SqlHelper.ExecuteNonQuery(TagConnstr, CommandType.Text, insertsql, param);
  237. }
  238. else
  239. {
  240. SqlParameter[] param = new SqlParameter[2];
  241. param[0] = new SqlParameter("@ClassID", SqlDbType.NVarChar, 12);
  242. param[0].Value = ClassID;
  243. param[1] = new SqlParameter("@ParentID", SqlDbType.NVarChar, 12);
  244. param[1].Value = ParentID;
  245. string insertsql = "insert into " + Prefix + "news_Class(ClassID,ClassCName,ClassEName,ParentID,IsURL,OrderID,URLaddress,[Domain],ClassTemplet,ReadNewsTemplet,SavePath,SaveClassframe,Checkint,ClassSaveRule";
  246. insertsql += ",ClassIndexRule,NewsSavePath,NewsFileRule,PicDirPath,ContentPicTF,ContentPICurl,ContentPicSize,InHitoryDay,DataLib,SiteID,NaviShowtf,NaviPIC,NaviContent,MetaKeywords,MetaDescript,isDelPoint,Gpoint";
  247. insertsql += ",iPoint,GroupNumber,FileName,isLock,isRecyle,NaviPosition,NewsPosition,isComm,Defineworkey,CreatTime,isPage,PageContent,ModelID,isunHTML";
  248. insertsql += ") values (";
  249. insertsql += "@ClassID,'" + dr["ClassName"].ToString() + "','" + dr["ClassEName"].ToString() + "',@ParentID," + Convert.ToInt32(dr["IsURL"].ToString()) + "," + Convert.ToInt32(dr["OrderID"].ToString()) + ",'" + dr["UrlAddress"].ToString() + "','" + dr["Domain"].ToString() + "','" + dr["Templet"].ToString() + "','" + dr["NewsTemplet"].ToString() + "','" + dr["SavePath"].ToString() + "','',0,'" + dr["ClassEName"].ToString() + "/index.html'";
  250. insertsql += ",'{@year04}-{@month}/{@day}','{@year04}{@month}','{@year04}-{@month}-{@day}-{@hour}-{@minute}',''," + Convert.ToInt32(dr["IsAdPic"].ToString()) + ",'" + dr["AdPicAdress"].ToString() + "','" + (dr["AdPicWH"].ToString()).Replace(",", "|") + "'," + Convert.ToInt32(dr["Oldtime"].ToString()) + ",'" + Prefix + "news','0'," + Convert.ToInt32(dr["isShow"].ToString()) + ",'" + dr["ClassNaviPic"].ToString() + "','" + dr["ClassNaviContent"].ToString() + "','" + dr["ClassKeywords"].ToString() + "','" + dr["Classdescription"].ToString() + "'," + Convert.ToInt32(dr["isPop"].ToString()) + ",0";
  251. insertsql += ",0,'','." + dr["FileExtName"].ToString() + "',0," + Convert.ToInt32(dr["ReycleTF"].ToString()) + ",'','',1,'','" + Addtime + "',0,'','',0";
  252. insertsql += ")";
  253. SqlHelper.ExecuteNonQuery(TagConnstr, CommandType.Text, insertsql, param);
  254. }
  255. i++;
  256. }
  257. catch (Exception ex)
  258. {
  259. m++;
  260. Foosun.Common.Public.saveConvertLogFiles("栏目ID:" + dr["ClassID"].ToString(), ex.ToString());
  261. }
  262. }
  263. dr.Close();
  264. Response.Write("√ 成功转换新闻栏目" + i + "条,转换失败" + m + "条.如果存在此栏目,将转换失败");
  265. Response.End();
  266. break;
  267. case "special":
  268. sql = "select * from FS_NS_Special order by SpecialID asc";
  269. if (GisSQL != 1)
  270. {
  271. OleDbConnection con = new OleDbConnection(SourConnstr);
  272. con.Open();
  273. OleDbCommand cmd = new OleDbCommand(sql, con);
  274. dr = cmd.ExecuteReader();
  275. }
  276. else
  277. {
  278. dr = SqlHelper.ExecuteReader(SourConnstr, CommandType.Text, sql, null);
  279. }
  280. while (dr.Read())
  281. {
  282. string SpecialID = dr["SpecialID"].ToString();
  283. try
  284. {
  285. if (SpecialID.Length > 12)
  286. {
  287. SpecialID = SpecialID.Substring(0, 12);
  288. }
  289. string ParentID = dr["ParentID"].ToString();
  290. if (ParentID.Length > 12)
  291. {
  292. ParentID = ParentID.Substring(0, 11);
  293. }
  294. int Checkint = 0;
  295. DateTime Addtime = DateTime.Now;
  296. if (Foosun.Common.Input.IsDate(dr["Addtime"].ToString()))
  297. {
  298. Addtime = DateTime.Parse(dr["Addtime"].ToString());
  299. }
  300. if (IsAcc) //4.0sql转换到.net access
  301. {
  302. OleDbParameter[] param = new OleDbParameter[2];
  303. param[0] = new OleDbParameter("@SpecialID", OleDbType.LongVarChar, 12);
  304. param[0].Value = SpecialID;
  305. param[1] = new OleDbParameter("@ParentID", OleDbType.LongVarChar, 12);
  306. param[1].Value = ParentID;
  307. string insertsql = "insert into " + Prefix + "news_special(SpecialID,SpecialCName,specialEName,ParentID,[Domain],isDelPoint,Gpoint,[iPoint],GroupNumber,saveDirPath,SavePath,FileName,FileEXName,NaviPicURL";
  308. insertsql += ",NaviContent,SiteID,Templet,isLock,isRecyle,CreatTime,NaviPosition,ModelID";
  309. insertsql += ") values (";
  310. insertsql += "@SpecialID,'" + dr["SpecialCName"].ToString() + "','" + dr["SpecialEName"].ToString() + "',@ParentID,'',0,0,0,'','','" + dr["SavePath"].ToString() + "','" + dr["SpecialEName"].ToString() + "','." + dr["ExtName"].ToString() + "',''";
  311. insertsql += ",'" + dr["SpecialContent"].ToString() + "','0','" + dr["Templet"].ToString() + "'," + Convert.ToInt32(dr["isLock"].ToString()) + ",0,'" + Addtime + "','','0'";
  312. insertsql += ")";
  313. SqlHelper.ExecuteNonQuery(TagConnstr, CommandType.Text, insertsql, param);
  314. }
  315. else
  316. {
  317. SqlParameter[] param = new SqlParameter[2];
  318. param[0] = new SqlParameter("@SpecialID", SqlDbType.NVarChar, 12);
  319. param[0].Value = SpecialID;
  320. param[1] = new SqlParameter("@ParentID", SqlDbType.NVarChar, 12);
  321. param[1].Value = ParentID;
  322. string insertsql = "insert into " + Prefix + "news_special(SpecialID,SpecialCName,specialEName,ParentID,[Domain],isDelPoint,Gpoint,[iPoint],GroupNumber,saveDirPath,SavePath,FileName,FileEXName,NaviPicURL";
  323. insertsql += ",NaviContent,SiteID,Templet,isLock,isRecyle,CreatTime,NaviPosition,ModelID";
  324. insertsql += ") values (";
  325. insertsql += "@SpecialID,'" + dr["SpecialCName"].ToString() + "','" + dr["SpecialEName"].ToString() + "',@ParentID,'',0,0,0,'','','" + dr["SavePath"].ToString() + "','" + dr["SpecialEName"].ToString() + "','." + dr["ExtName"].ToString() + "',''";
  326. insertsql += ",'" + dr["SpecialContent"].ToString() + "','0','" + dr["Templet"].ToString() + "'," + Convert.ToInt32(dr["isLock"].ToString()) + ",0,'" + Addtime + "','','0'";
  327. insertsql += ")";
  328. SqlHelper.ExecuteNonQuery(TagConnstr, CommandType.Text, insertsql, param);
  329. }
  330. i++;
  331. }
  332. catch (Exception ex)
  333. {
  334. m++;
  335. Foosun.Common.Public.saveConvertLogFiles("专题ID:" + SpecialID, ex.ToString());
  336. }
  337. }
  338. dr.Close();
  339. Response.Write("√ 成功转换新闻专题" + i + "条,转换失败" + m + "条");
  340. Response.End();
  341. break;
  342. case "user":
  343. sql = "select * from FS_ME_Users order by UserID asc";
  344. if (GisSQL != 1)
  345. {
  346. OleDbConnection con = new OleDbConnection(SourConnstr);
  347. con.Open();
  348. OleDbCommand cmd = new OleDbCommand(sql, con);
  349. dr = cmd.ExecuteReader();
  350. }
  351. else
  352. {
  353. dr = SqlHelper.ExecuteReader(SourConnstr, CommandType.Text, sql, null);
  354. }
  355. while (dr.Read())
  356. {
  357. string UserNumber = dr["UserNumber"].ToString();
  358. try
  359. {
  360. if (UserNumber.Length > 12)
  361. {
  362. UserNumber = UserNumber.Substring(0, 12);
  363. }
  364. int Checkint = 0;
  365. DateTime BothYear = DateTime.Now;
  366. if (Foosun.Common.Input.IsDate(dr["BothYear"].ToString()))
  367. {
  368. BothYear = DateTime.Parse(dr["BothYear"].ToString());
  369. }
  370. DateTime RegTime = DateTime.Now;
  371. if (Foosun.Common.Input.IsDate(dr["RegTime"].ToString()))
  372. {
  373. RegTime = DateTime.Parse(dr["RegTime"].ToString());
  374. }
  375. DateTime LastLoginTime = DateTime.Now;
  376. if (Foosun.Common.Input.IsDate(dr["LastLoginTime"].ToString()))
  377. {
  378. LastLoginTime = DateTime.Parse(dr["LastLoginTime"].ToString());
  379. }
  380. //if (IsAcc) //4.0sql转换到.net access
  381. //{
  382. // string insertsql = "insert into " + Prefix + "sys_User(UserNum,UserName,UserPassword,NickName,RealName,isAdmin,UserGroupNumber,PassQuestion,PassKey,CertType,CertNumber,Email,mobile,Sex";
  383. // insertsql += ",birthday,Userinfo,UserFace,userFacesize,marriage,iPoint,gPoint,cPoint,ePoint,aPoint,isLock,RegTime,LastLoginTime,OnlineTime,OnlineTF,LoginNumber,FriendClass";
  384. // insertsql += ",LoginLimtNumber,LastIP,SiteID,Addfriend,isOpen,ParmConstrNum,isIDcard,IDcardFiles,Addfriendbs,EmailATF,EmailCode,isMobile,BindTF,MobileCode";
  385. // insertsql += ") values (";
  386. // insertsql += "'" + UserNumber + "','" + dr["UserName"].ToString() + "','" + dr["UserPassword"].ToString() + "','" + dr["NickName"].ToString() + "','" + dr["RealName"].ToString() + "',0,'00000000001','" + dr["PassQuestion"].ToString() + "','" + dr["PassAnswer"].ToString() + "',0,'','" + dr["Email"].ToString() + "','" + dr["Mobile"].ToString() + "'," + Convert.ToInt32(dr["Sex"].ToString()) + "";
  387. // insertsql += ",'" + BothYear + "','','" + dr["HeadPic"].ToString() + "','" + dr["HeadPicSize"].ToString().Replace(",", "|") + "'," + Convert.ToInt32(dr["IsMarray"].ToString()) + "," + Convert.ToInt32(dr["Integral"].ToString()) + "," + Convert.ToDouble(dr["FS_Money"].ToString()) + ",0,0,0," + Convert.ToInt32(dr["isLock"].ToString()) + ",'" + RegTime + "','" + LastLoginTime + "',0,0," + Convert.ToInt32(dr["LoginNum"].ToString()) + ",''";
  388. // insertsql += ",0,'" + dr["LastLoginIP"].ToString() + "','0',0," + Convert.ToInt32(dr["isOpen"].ToString()) + ",0,0,'','',0,'',0,0,''";
  389. // insertsql += ")";
  390. // SqlHelper.ExecuteNonQuery(TagConnstr, CommandType.Text, insertsql, null);
  391. //}
  392. //else
  393. //{
  394. //}
  395. string insertsql = "insert into " + Prefix + "sys_User(UserNum,UserName,UserPassword,NickName,RealName,isAdmin,UserGroupNumber,PassQuestion,PassKey,CertType,CertNumber,Email,mobile,Sex";
  396. insertsql += ",birthday,Userinfo,UserFace,userFacesize,marriage,iPoint,gPoint,cPoint,ePoint,aPoint,isLock,RegTime,LastLoginTime,OnlineTime,OnlineTF,LoginNumber,FriendClass";
  397. insertsql += ",LoginLimtNumber,LastIP,SiteID,Addfriend,isOpen,ParmConstrNum,isIDcard,IDcardFiles,Addfriendbs,EmailATF,EmailCode,isMobile,BindTF,MobileCode";
  398. insertsql += ") values (";
  399. insertsql += "'" + UserNumber + "','" + dr["UserName"].ToString() + "','" + dr["UserPassword"].ToString() + "','" + dr["NickName"].ToString() + "','" + dr["RealName"].ToString() + "',0,'00000000001','" + dr["PassQuestion"].ToString() + "','" + dr["PassAnswer"].ToString() + "',0,'','" + dr["Email"].ToString() + "','" + dr["Mobile"].ToString() + "'," + Convert.ToInt32(dr["Sex"].ToString()) + "";
  400. insertsql += ",'" + BothYear + "','','" + dr["HeadPic"].ToString() + "','" + dr["HeadPicSize"].ToString().Replace(",", "|") + "'," + Convert.ToInt32(dr["IsMarray"].ToString()) + "," + Convert.ToInt32(dr["Integral"].ToString()) + "," + Convert.ToDouble(dr["FS_Money"].ToString()) + ",0,0,0," + Convert.ToInt32(dr["isLock"].ToString()) + ",'" + RegTime + "','" + LastLoginTime + "',0,0," + Convert.ToInt32(dr["LoginNum"].ToString()) + ",''";
  401. insertsql += ",0,'" + dr["LastLoginIP"].ToString() + "','0',0," + Convert.ToInt32(dr["isOpen"].ToString()) + ",0,0,'','',0,'',0,0,''";
  402. insertsql += ")";
  403. SqlHelper.ExecuteNonQuery(TagConnstr, CommandType.Text, insertsql, null);
  404. i++;
  405. }
  406. catch (Exception ex)
  407. {
  408. m++;
  409. Foosun.Common.Public.saveConvertLogFiles("用户ID:" + UserNumber, ex.ToString());
  410. }
  411. }
  412. dr.Close();
  413. Response.Write("√ 成功转换会员" + i + "条,转换失败" + m + "条");
  414. Response.End();
  415. break;
  416. case "gen":
  417. //1关键,2来源,3作者,4内部
  418. sql = "select * from FS_NS_General order by GID asc";
  419. if (GisSQL != 1)
  420. {
  421. OleDbConnection con = new OleDbConnection(SourConnstr);
  422. con.Open();
  423. OleDbCommand cmd = new OleDbCommand(sql, con);
  424. dr = cmd.ExecuteReader();
  425. }
  426. else
  427. {
  428. dr = SqlHelper.ExecuteReader(SourConnstr, CommandType.Text, sql, null);
  429. }
  430. while (dr.Read())
  431. {
  432. string ID = dr["GID"].ToString();
  433. try
  434. {
  435. //0表示关键字,1表示作者,2表示来源,3表示内部连接
  436. int G_Type = 0;
  437. switch (dr["G_Type"].ToString())
  438. {
  439. case "1":
  440. G_Type = 0;
  441. break;
  442. case "2":
  443. G_Type = 2;
  444. break;
  445. case "3":
  446. G_Type = 1;
  447. break;
  448. case "4":
  449. G_Type = 3;
  450. break;
  451. }
  452. string insertsql = "insert into " + Prefix + "news_Gen(Cname,gType,URL,EmailURL,isLock,SiteID";
  453. insertsql += ") values (";
  454. insertsql += "'" + dr["G_Name"].ToString() + "'," + G_Type + ",'" + dr["G_URL"].ToString() + "','" + dr["G_Email"].ToString() + "'," + Convert.ToInt32(dr["isLock"].ToString()) + ",'0'";
  455. insertsql += ")";
  456. i++;
  457. SqlHelper.ExecuteNonQuery(TagConnstr, CommandType.Text, insertsql, null);
  458. }
  459. catch (Exception ex)
  460. {
  461. m++;
  462. Foosun.Common.Public.saveConvertLogFiles("常规ID:" + ID, ex.ToString());
  463. }
  464. }
  465. dr.Close();
  466. Response.Write("√ 成功转换常规管理" + i + "条,转换失败" + m + "条");
  467. Response.End();
  468. break;
  469. }
  470. }
  471. public abstract class SqlHelper
  472. {
  473. //数据库表通用前缀
  474. // Hashtable to store cached parameters
  475. private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());
  476. /// <summary>
  477. /// Execute a SqlCommand (that returns no resultset) against the database specified in the connection string
  478. /// using the provided parameters.
  479. /// </summary>
  480. /// <remarks>
  481. /// e.g.:
  482. /// int result = ExecuteNonQuery( CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
  483. /// </remarks>
  484. /// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>
  485. /// <param name="commandText">the stored procedure name or T-SQL command</param>
  486. /// <param name="commandParameters">an array of SqlParamters used to execute the command</param>
  487. /// <returns>an int representing the number of rows affected by the command</returns>
  488. public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
  489. {
  490. return ExecuteNonQuery(SourConnstr, cmdType, cmdText, commandParameters);
  491. }
  492. /// <summary>
  493. /// Execute a SqlCommand (that returns no resultset) against the database specified in the connection string
  494. /// using the provided parameters.
  495. /// </summary>
  496. /// <remarks>
  497. /// e.g.:
  498. /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
  499. /// </remarks>
  500. /// <param name="connectionString">a valid connection string for a SqlConnection</param>
  501. /// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>
  502. /// <param name="commandText">the stored procedure name or T-SQL command</param>
  503. /// <param name="commandParameters">an array of SqlParamters used to execute the command</param>
  504. /// <returns>an int representing the number of rows affected by the command</returns>
  505. public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
  506. {
  507. SqlCommand cmd = new SqlCommand();
  508. using (SqlConnection conn = new SqlConnection(connectionString))
  509. {
  510. PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
  511. int val = cmd.ExecuteNonQuery();
  512. cmd.Parameters.Clear();
  513. return val;
  514. }
  515. }
  516. /// <summary>
  517. /// access
  518. /// </summary>
  519. /// <param name="connectionString"></param>
  520. /// <param name="cmdType"></param>
  521. /// <param name="cmdText"></param>
  522. /// <param name="commandParameters"></param>
  523. /// <returns></returns>
  524. public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params DbParameter[] commandParameters)
  525. {
  526. //SqlCommand cmd = new SqlCommand();
  527. //using (SqlConnection conn = new SqlConnection(connectionString))
  528. //{
  529. // PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
  530. // int val = cmd.ExecuteNonQuery();
  531. // cmd.Parameters.Clear();
  532. // return val;
  533. //}
  534. DbCommand cmd = Provider.CreateCommand();
  535. using (DbConnection connection = Provider.CreateConnection())
  536. {
  537. try
  538. {
  539. connection.ConnectionString = connectionString;
  540. PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
  541. int val = cmd.ExecuteNonQuery();
  542. cmd.Parameters.Clear();
  543. //DbHelper.Conn = connection;
  544. return val;
  545. }
  546. catch
  547. {
  548. throw;
  549. }
  550. finally
  551. {
  552. if (connection.State == ConnectionState.Open)
  553. {
  554. connection.Close();
  555. }
  556. connection.Dispose();
  557. }
  558. }
  559. }
  560. /// <summary>
  561. /// Execute a SqlCommand (that returns no resultset) against an existing database connection
  562. /// using the provided parameters.
  563. /// </summary>
  564. /// <remarks>
  565. /// e.g.:
  566. /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
  567. /// </remarks>
  568. /// <param name="conn">an existing database connection</param>
  569. /// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>
  570. /// <param name="commandText">the stored procedure name or T-SQL command</param>
  571. /// <param name="commandParameters">an array of SqlParamters used to execute the command</param>
  572. /// <returns>an int representing the number of rows affected by the command</returns>
  573. public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
  574. {
  575. SqlCommand cmd = new SqlCommand();
  576. PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
  577. int val = cmd.ExecuteNonQuery();
  578. cmd.Parameters.Clear();
  579. return val;
  580. }
  581. /// <summary>
  582. /// Execute a SqlCommand (that returns no resultset) using an existing SQL Transaction
  583. /// using the provided parameters.
  584. /// </summary>
  585. /// <remarks>
  586. /// e.g.:
  587. /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
  588. /// </remarks>
  589. /// <param name="trans">an existing sql transaction</param>
  590. /// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>
  591. /// <param name="commandText">the stored procedure name or T-SQL command</param>
  592. /// <param name="commandParameters">an array of SqlParamters used to execute the command</param>
  593. /// <returns>an int representing the number of rows affected by the command</returns>
  594. public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
  595. {
  596. SqlCommand cmd = new SqlCommand();
  597. PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);
  598. int val = cmd.ExecuteNonQuery();
  599. cmd.Parameters.Clear();
  600. return val;
  601. }
  602. /// <summary>
  603. /// Execute a SqlCommand that returns a resultset against the database specified in the connection string
  604. /// using the provided parameters.
  605. /// </summary>
  606. /// <remarks>
  607. /// e.g.:
  608. /// SqlDataReader r = ExecuteReader(CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
  609. /// </remarks>
  610. /// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>
  611. /// <param name="commandText">the stored procedure name or T-SQL command</param>
  612. /// <param name="commandParameters">an array of SqlParamters used to execute the command</param>
  613. /// <returns>A SqlDataReader containing the results</returns>
  614. public static SqlDataReader ExecuteReader(CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
  615. {
  616. return ExecuteReader(SourConnstr, cmdType, cmdText, commandParameters);
  617. }
  618. /// <summary>
  619. /// Execute a SqlCommand that returns a resultset against the database specified in the connection string
  620. /// using the provided parameters.
  621. /// </summary>
  622. /// <remarks>
  623. /// e.g.:
  624. /// SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
  625. /// </remarks>
  626. /// <param name="connectionString">a valid connection string for a SqlConnection</param>
  627. /// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>
  628. /// <param name="commandText">the stored procedure name or T-SQL command</param>
  629. /// <param name="commandParameters">an array of SqlParamters used to execute the command</param>
  630. /// <returns>A SqlDataReader containing the results</returns>
  631. public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
  632. {
  633. SqlCommand cmd = new SqlCommand();
  634. SqlConnection conn = new SqlConnection(connectionString);
  635. // we use a try/catch here because if the method throws an exception we want to
  636. // close the connection throw code, because no datareader will exist, hence the
  637. // commandBehaviour.CloseConnection will not work
  638. try
  639. {
  640. PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
  641. SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
  642. cmd.Parameters.Clear();
  643. return rdr;
  644. }
  645. catch
  646. {
  647. conn.Close();
  648. throw;
  649. }
  650. }
  651. /// <summary>
  652. /// 执行对默认数据库有自定义排序的分页的查询
  653. /// </summary>
  654. /// <param name="connectionString">连接字符串
  655. /// <param name="SqlAllFields">查询字段,如果是多表查询,请将必要的表名或别名加上,如:a.id,a.name,b.score</param>
  656. /// <param name="SqlTablesAndWhere">查询的表如果包含查询条件,也将条件带上,但不要包含order by子句,也不要包含"from"关键字,如:students a inner join achievement b on a.... where ....</param>
  657. /// <param name="IndexField">用以分页的不能重复的索引字段名,最好是主表的自增长字段,如果是多表查询,请带上表名或别名,如:a.id</param>
  658. /// <param name="OrderASC">排序方式,如果为true则按升序排序,false则按降序排</param>
  659. /// <param name="OrderFields">排序字段以及方式如:a.OrderID desc,CnName desc</OrderFields>
  660. /// <param name="PageIndex">当前页的页码</param>
  661. /// <param name="PageSize">每页记录数</param>
  662. /// <param name="RecordCount">输出参数,返回查询的总记录条数</param>
  663. /// <param name="PageCount">输出参数,返回查询的总页数</param>
  664. /// <returns>返回查询结果</returns>
  665. public static SqlDataReader ExecuteReaderPage(string connectionString, string SqlAllFields, string SqlTablesAndWhere, string IndexField, string GroupClause, string OrderFields, int PageIndex, int PageSize, out int RecordCount, out int PageCount, params SqlParameter[] commandParameters)
  666. {
  667. SqlCommand cmd = new SqlCommand();
  668. SqlConnection conn = new SqlConnection(connectionString);
  669. try
  670. {
  671. conn.Open();
  672. RecordCount = 0;
  673. PageCount = 0;
  674. if (PageSize <= 0)
  675. {
  676. PageSize = 10;
  677. }
  678. string SqlCount = "select count(*) from " + SqlTablesAndWhere;
  679. cmd.Connection = conn;
  680. cmd.CommandType = CommandType.Text;
  681. cmd.CommandText = SqlCount;
  682. if (commandParameters != null)
  683. {
  684. foreach (SqlParameter parm in commandParameters)
  685. cmd.Parameters.Add(parm);
  686. }
  687. RecordCount = (int)cmd.ExecuteScalar();
  688. if (RecordCount % PageSize == 0)
  689. {
  690. PageCount = RecordCount / PageSize;
  691. }
  692. else
  693. {
  694. PageCount = RecordCount / PageSize + 1;
  695. }
  696. if (PageIndex > PageCount)
  697. PageIndex = PageCount;
  698. if (PageIndex < 1)
  699. PageIndex = 1;
  700. string Sql = null;
  701. if (PageIndex == 1)
  702. {
  703. Sql = "select top " + PageSize + " " + SqlAllFields + " from " + SqlTablesAndWhere + " " + GroupClause + " " + OrderFields;
  704. }
  705. else
  706. {
  707. Sql = "select top " + PageSize + " " + SqlAllFields + " from ";
  708. if (SqlTablesAndWhere.ToLower().IndexOf(" where ") > 0)
  709. {
  710. string _where = Regex.Replace(SqlTablesAndWhere, @"\ where\ ", " where (", RegexOptions.IgnoreCase | RegexOptions.Compiled);
  711. Sql += _where + ") and (";
  712. }
  713. else
  714. {
  715. Sql += SqlTablesAndWhere + " where (";
  716. }
  717. Sql += IndexField + " not in (select top " + (PageIndex - 1) * PageSize + " " + IndexField + " from " + SqlTablesAndWhere + " " + OrderFields;
  718. Sql += ")) " + GroupClause + " " + OrderFields;
  719. }
  720. cmd.CommandText = Sql;
  721. SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
  722. cmd.Parameters.Clear();
  723. return rdr;
  724. }
  725. catch
  726. {
  727. conn.Close();
  728. throw;
  729. }
  730. }
  731. /// <summary>
  732. /// Execute a SqlCommand that returns a resultset against the d…

Large files files are truncated, but you can click here to view the full file