EditPerson.aspx.cs
上传用户:tree100901
上传日期:2007-06-03
资源大小:2295k
文件大小:7k
源码类别:

OA系统

开发平台:

C#

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Drawing;
  7. using System.Web;
  8. using System.Web.SessionState;
  9. using System.Web.UI;
  10. using System.Web.UI.WebControls;
  11. using System.Web.UI.HtmlControls;
  12. using System.Text.RegularExpressions;
  13. namespace OA
  14. {
  15. /// <summary>
  16. /// EditPerson 的摘要说明。
  17. /// </summary>
  18. public class EditPerson : System.Web.UI.Page
  19. {
  20. protected System.Data.SqlClient.SqlConnection MyConnection;
  21. protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
  22. protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
  23. protected System.Web.UI.WebControls.TextBox Organization;
  24. protected System.Web.UI.WebControls.TextBox Job;
  25. protected System.Web.UI.WebControls.TextBox Name;
  26. protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
  27. protected System.Web.UI.HtmlControls.HtmlInputButton Send;
  28. protected System.Data.SqlClient.SqlCommand MyCommand;
  29. private void Page_Load(object sender, System.EventArgs e)
  30. {
  31. if(!IsPostBack)
  32. {
  33. if(Request.QueryString["PersonID"]!=null)
  34. {
  35. string OID = "",JID = "";
  36. MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
  37. MyCommand=new SqlCommand("PersonName",MyConnection);
  38. MyCommand.CommandType = CommandType.StoredProcedure;
  39. MyCommand.Parameters.Add(new SqlParameter("@PersonID", SqlDbType.Int, 4));
  40. MyCommand.Parameters["@PersonID"].Value = Int32.Parse(Request.QueryString["PersonID"].ToString());
  41. if(MyConnection.State.ToString()=="Closed")
  42. MyConnection.Open(); 
  43. SqlDataReader myReader =  MyCommand.ExecuteReader();
  44. while(myReader.Read())
  45. {
  46. Name.Text = myReader["Name"].ToString().Trim();
  47. OID = myReader["OrganizationID"].ToString().Trim();
  48. JID = myReader["JobID"].ToString().Trim();
  49. }
  50. myReader.Close();
  51. string [] str = OID.Split(new char[] {','});
  52. string OName="";
  53. string SID="";
  54. string SName="";
  55. string SN="";
  56. for(int i=0; i<str.Length; i++)
  57. {
  58. SqlCommand MyCommand0 = new SqlCommand("OrganizationName",MyConnection);
  59. MyCommand0.CommandType = CommandType.StoredProcedure;
  60. MyCommand0.Parameters.Add(new SqlParameter("@OrganizationID", SqlDbType.Int, 4));
  61. MyCommand0.Parameters["@OrganizationID"].Value = str[i];
  62. if(MyConnection.State.ToString()=="Closed")
  63. MyConnection.Open(); 
  64. SqlDataReader myReader0 =  MyCommand0.ExecuteReader();
  65. while(myReader0.Read())
  66. {
  67. SID = myReader0["SystemID"].ToString();
  68. OName = ","+myReader0["OrganizationName"].ToString()+"("+str[i]+")";
  69. }
  70. myReader0.Close();
  71. string [] str2 = SID.Split(new char[] {','});
  72. for(int j=0; j<str2.Length; j++)
  73. {
  74. SqlCommand MyCommand2 = new SqlCommand("SelectSystemName",MyConnection);
  75. MyCommand2.CommandType = CommandType.StoredProcedure;
  76. MyCommand2.Parameters.Add(new SqlParameter("@SystemID", SqlDbType.Int, 4));
  77. MyCommand2.Parameters["@SystemID"].Value = str2[j];
  78. if(MyConnection.State.ToString()=="Closed")
  79. MyConnection.Open(); 
  80. SqlDataReader myReader2 =  MyCommand2.ExecuteReader();
  81. while(myReader2.Read())
  82. {
  83. if(str2.Length>1)
  84. SName += ","+myReader2["SystemName"].ToString();
  85. else
  86. SName = ","+myReader2["SystemName"].ToString();
  87. }
  88. myReader2.Close();
  89. }
  90. SN +=",("+SName.Substring(1)+")"+OName.Substring(1);
  91. MyConnection.Close(); 
  92. }
  93. Organization.Text = SN.Substring(1);
  94. string [] str1 = JID.Split(new char[] {','});
  95. string JName="";
  96. for(int i=0; i<str1.Length; i++)
  97. {
  98. SqlCommand MyCommand1 = new SqlCommand("JobName",MyConnection);
  99. MyCommand1.CommandType = CommandType.StoredProcedure;
  100. MyCommand1.Parameters.Add(new SqlParameter("@JobID", SqlDbType.Int, 4));
  101. MyCommand1.Parameters["@JobID"].Value = str1[i];
  102. if(MyConnection.State.ToString()=="Closed")
  103. MyConnection.Open(); 
  104. SqlDataReader myReader1 =  MyCommand1.ExecuteReader();
  105. while(myReader1.Read())
  106. JName += ","+myReader1["JobName"].ToString()+"("+str1[i]+")";
  107. myReader1.Close();
  108. MyConnection.Close(); 
  109. }
  110. Job.Text = JName.Substring(1);
  111. }
  112. }
  113. // 在此处放置用户代码以初始化页面
  114. }
  115. #region Web 窗体设计器生成的代码
  116. override protected void OnInit(EventArgs e)
  117. {
  118. //
  119. // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  120. //
  121. InitializeComponent();
  122. base.OnInit(e);
  123. }
  124. /// <summary>
  125. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  126. /// 此方法的内容。
  127. /// </summary>
  128. private void InitializeComponent()
  129. {    
  130. this.Send.ServerClick += new System.EventHandler(this.Send_ServerClick);
  131. this.Load += new System.EventHandler(this.Page_Load);
  132. }
  133. #endregion
  134. public String CleanInput1(string strIn)
  135. {
  136. return Regex.Replace(strIn, @"[^-9,]", ""); 
  137. }
  138. private void Send_ServerClick(object sender, System.EventArgs e)
  139. {
  140. string OID = CleanInput1(Organization.Text.Trim()); 
  141. string JID = CleanInput1(Job.Text.Trim()); 
  142. string [] OI = RemoveDup(OID.Replace("(","").Replace(")","").Split(new char[] {','}));
  143. string [] JI = RemoveDup(JID.Replace("(","").Replace(")","").Split(new char[] {','}));
  144. string O = "",J = "";
  145. for(int i=0; i<OI.Length; i++)
  146. {
  147. if(OI[i]!="")
  148. O +=","+OI[i];
  149. }
  150. for(int j=0; j<JI.Length; j++)
  151. {
  152. if(JI[j]!="")
  153. J +=","+JI[j];
  154. }
  155. MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
  156. MyCommand=new SqlCommand("UpdatePerson",MyConnection);
  157. MyCommand.CommandType = CommandType.StoredProcedure;
  158. MyCommand.Parameters.Add(new SqlParameter("@Name", SqlDbType.NVarChar, 50));
  159. MyCommand.Parameters["@Name"].Value = Name.Text.Trim();  
  160. MyCommand.Parameters.Add(new SqlParameter("@OrganizationID",SqlDbType.NVarChar, 50));
  161. MyCommand.Parameters["@OrganizationID"].Value = O.Substring(1); 
  162. MyCommand.Parameters.Add(new SqlParameter("@JobID", SqlDbType.NVarChar, 50));
  163. MyCommand.Parameters["@JobID"].Value = J.Substring(1);
  164. MyCommand.Parameters.Add(new SqlParameter("@PersonID", SqlDbType.Int, 4));
  165. MyCommand.Parameters["@PersonID"].Value = Int32.Parse(Request.QueryString["PersonID"].ToString());
  166. if(MyConnection.State.ToString()=="Closed")
  167. MyConnection.Open();  
  168. MyCommand.ExecuteNonQuery();
  169. MyConnection.Close(); 
  170. Response.Write("<script>opener.location.href=opener.location.href;opener=null;window.close();</"+"script>");
  171. }
  172. public static string[] RemoveDup(string[] myData)
  173. {
  174. if (myData.Length > 0)
  175. {
  176. Array.Sort(myData);
  177. int size = 1;
  178. for (int i=1; i<myData.Length; i++)
  179. if (myData[i] != myData[i-1])
  180. size++;
  181. string[] myTempData = new string[size];
  182. int j=0;
  183. myTempData[j++] = myData[0];
  184. for (int i=1; i<myData.Length; i++)
  185. if (myData[i] != myData[i-1])
  186. myTempData[j++] = myData[i];
  187. return myTempData;
  188. }
  189. return myData; 
  190. }
  191. }
  192. }