SetOrgInfo.cs
上传用户:hjieqiu
上传日期:2013-05-11
资源大小:16494k
文件大小:38k
源码类别:

企业管理

开发平台:

C#

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. namespace 人力资源管理系统
  8. {
  9. /// <summary>
  10. /// SetOrgInfo 的摘要说明。
  11. /// </summary>
  12. public class SetOrgInfo : System.Windows.Forms.Form
  13. {
  14. private DataTable tblSetOrgInfo = new DataTable();//储存读入的数据
  15. private string strTextBox3_Text = "";
  16. private System.Windows.Forms.TreeView treeView1;
  17. private System.Windows.Forms.GroupBox groupBox1;
  18. private System.Windows.Forms.TextBox textBox3;
  19. private System.Windows.Forms.TextBox textBox2;
  20. private System.Windows.Forms.TextBox textBox1;
  21. private System.Windows.Forms.Label label3;
  22. private System.Windows.Forms.Label label2;
  23. private System.Windows.Forms.Label label1;
  24. private System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;
  25. private System.Windows.Forms.Button btnDelete;
  26. private System.Windows.Forms.Button btnNewChildClass;
  27. private System.Windows.Forms.Button btnNewThisClass;
  28. private System.Windows.Forms.Button btnNewFirstClass;
  29. private System.Windows.Forms.Button btnModify;
  30. private System.Windows.Forms.Button btnQuit;
  31. private System.Data.SqlClient.SqlCommand sqlSelectCommand1;
  32. private System.Data.SqlClient.SqlCommand sqlInsertCommand1;
  33. private System.Data.SqlClient.SqlCommand sqlUpdateCommand1;
  34. private System.Data.SqlClient.SqlCommand sqlDeleteCommand1;
  35. private System.Data.SqlClient.SqlConnection sqlConnection1;
  36. /// <summary>
  37. /// 必需的设计器变量。
  38. /// </summary>
  39. private System.ComponentModel.Container components = null;
  40. public SetOrgInfo()
  41. {
  42. //
  43. // Windows 窗体设计器支持所必需的
  44. //
  45. InitializeComponent();
  46. //
  47. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  48. //
  49. }
  50. /// <summary>
  51. /// 清理所有正在使用的资源。
  52. /// </summary>
  53. protected override void Dispose( bool disposing )
  54. {
  55. if( disposing )
  56. {
  57. if(components != null)
  58. {
  59. components.Dispose();
  60. }
  61. }
  62. base.Dispose( disposing );
  63. }
  64. #region Windows 窗体设计器生成的代码
  65. /// <summary>
  66. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  67. /// 此方法的内容。
  68. /// </summary>
  69. private void InitializeComponent()
  70. {
  71. System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(SetOrgInfo));
  72. this.treeView1 = new System.Windows.Forms.TreeView();
  73. this.groupBox1 = new System.Windows.Forms.GroupBox();
  74. this.textBox3 = new System.Windows.Forms.TextBox();
  75. this.textBox2 = new System.Windows.Forms.TextBox();
  76. this.textBox1 = new System.Windows.Forms.TextBox();
  77. this.label3 = new System.Windows.Forms.Label();
  78. this.label2 = new System.Windows.Forms.Label();
  79. this.label1 = new System.Windows.Forms.Label();
  80. this.btnQuit = new System.Windows.Forms.Button();
  81. this.btnNewChildClass = new System.Windows.Forms.Button();
  82. this.btnNewThisClass = new System.Windows.Forms.Button();
  83. this.btnNewFirstClass = new System.Windows.Forms.Button();
  84. this.btnModify = new System.Windows.Forms.Button();
  85. this.btnDelete = new System.Windows.Forms.Button();
  86. this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
  87. this.sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();
  88. this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
  89. this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand();
  90. this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
  91. this.sqlUpdateCommand1 = new System.Data.SqlClient.SqlCommand();
  92. this.groupBox1.SuspendLayout();
  93. this.SuspendLayout();
  94. // 
  95. // treeView1
  96. // 
  97. this.treeView1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
  98. | System.Windows.Forms.AnchorStyles.Left)));
  99. this.treeView1.ImageIndex = -1;
  100. this.treeView1.Location = new System.Drawing.Point(0, 3);
  101. this.treeView1.Name = "treeView1";
  102. this.treeView1.SelectedImageIndex = -1;
  103. this.treeView1.Size = new System.Drawing.Size(240, 413);
  104. this.treeView1.TabIndex = 9;
  105. this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
  106. // 
  107. // groupBox1
  108. // 
  109. this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
  110. | System.Windows.Forms.AnchorStyles.Left) 
  111. | System.Windows.Forms.AnchorStyles.Right)));
  112. this.groupBox1.Controls.Add(this.textBox3);
  113. this.groupBox1.Controls.Add(this.textBox2);
  114. this.groupBox1.Controls.Add(this.textBox1);
  115. this.groupBox1.Controls.Add(this.label3);
  116. this.groupBox1.Controls.Add(this.label2);
  117. this.groupBox1.Controls.Add(this.label1);
  118. this.groupBox1.Controls.Add(this.btnQuit);
  119. this.groupBox1.Controls.Add(this.btnNewChildClass);
  120. this.groupBox1.Controls.Add(this.btnNewThisClass);
  121. this.groupBox1.Controls.Add(this.btnNewFirstClass);
  122. this.groupBox1.Controls.Add(this.btnModify);
  123. this.groupBox1.Controls.Add(this.btnDelete);
  124. this.groupBox1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
  125. this.groupBox1.Location = new System.Drawing.Point(248, -4);
  126. this.groupBox1.Name = "groupBox1";
  127. this.groupBox1.Size = new System.Drawing.Size(416, 420);
  128. this.groupBox1.TabIndex = 1;
  129. this.groupBox1.TabStop = false;
  130. // 
  131. // textBox3
  132. // 
  133. this.textBox3.Location = new System.Drawing.Point(56, 280);
  134. this.textBox3.Name = "textBox3";
  135. this.textBox3.ReadOnly = true;
  136. this.textBox3.Size = new System.Drawing.Size(176, 21);
  137. this.textBox3.TabIndex = 2;
  138. this.textBox3.Text = "";
  139. // 
  140. // textBox2
  141. // 
  142. this.textBox2.Location = new System.Drawing.Point(56, 200);
  143. this.textBox2.Name = "textBox2";
  144. this.textBox2.ReadOnly = true;
  145. this.textBox2.Size = new System.Drawing.Size(176, 21);
  146. this.textBox2.TabIndex = 1;
  147. this.textBox2.Text = "";
  148. // 
  149. // textBox1
  150. // 
  151. this.textBox1.Location = new System.Drawing.Point(56, 112);
  152. this.textBox1.Name = "textBox1";
  153. this.textBox1.Size = new System.Drawing.Size(176, 21);
  154. this.textBox1.TabIndex = 0;
  155. this.textBox1.Text = "";
  156. // 
  157. // label3
  158. // 
  159. this.label3.Location = new System.Drawing.Point(56, 240);
  160. this.label3.Name = "label3";
  161. this.label3.TabIndex = 14;
  162. this.label3.Text = "机构合成编码";
  163. // 
  164. // label2
  165. // 
  166. this.label2.Location = new System.Drawing.Point(56, 160);
  167. this.label2.Name = "label2";
  168. this.label2.TabIndex = 13;
  169. this.label2.Text = "本级别编码";
  170. // 
  171. // label1
  172. // 
  173. this.label1.Location = new System.Drawing.Point(56, 80);
  174. this.label1.Name = "label1";
  175. this.label1.TabIndex = 12;
  176. this.label1.Text = "机构名称";
  177. // 
  178. // btnQuit
  179. // 
  180. this.btnQuit.Location = new System.Drawing.Point(280, 80);
  181. this.btnQuit.Name = "btnQuit";
  182. this.btnQuit.Size = new System.Drawing.Size(112, 23);
  183. this.btnQuit.TabIndex = 15;
  184. this.btnQuit.Text = "退出";
  185. this.btnQuit.Click += new System.EventHandler(this.btnQuit_Click);
  186. // 
  187. // btnNewChildClass
  188. // 
  189. this.btnNewChildClass.Location = new System.Drawing.Point(280, 240);
  190. this.btnNewChildClass.Name = "btnNewChildClass";
  191. this.btnNewChildClass.Size = new System.Drawing.Size(112, 23);
  192. this.btnNewChildClass.TabIndex = 6;
  193. this.btnNewChildClass.Text = "增加为子级别(&C)";
  194. this.btnNewChildClass.Click += new System.EventHandler(this.btnNewChildClass_Click);
  195. // 
  196. // btnNewThisClass
  197. // 
  198. this.btnNewThisClass.Location = new System.Drawing.Point(280, 200);
  199. this.btnNewThisClass.Name = "btnNewThisClass";
  200. this.btnNewThisClass.Size = new System.Drawing.Size(112, 23);
  201. this.btnNewThisClass.TabIndex = 5;
  202. this.btnNewThisClass.Text = "增加为本级别(&A)";
  203. this.btnNewThisClass.Click += new System.EventHandler(this.btnNewThisClass_Click);
  204. // 
  205. // btnNewFirstClass
  206. // 
  207. this.btnNewFirstClass.Location = new System.Drawing.Point(280, 160);
  208. this.btnNewFirstClass.Name = "btnNewFirstClass";
  209. this.btnNewFirstClass.Size = new System.Drawing.Size(112, 23);
  210. this.btnNewFirstClass.TabIndex = 4;
  211. this.btnNewFirstClass.Text = "增加为第一级(&B)";
  212. this.btnNewFirstClass.Click += new System.EventHandler(this.btnNewFirstClass_Click);
  213. // 
  214. // btnModify
  215. // 
  216. this.btnModify.Location = new System.Drawing.Point(280, 120);
  217. this.btnModify.Name = "btnModify";
  218. this.btnModify.Size = new System.Drawing.Size(112, 23);
  219. this.btnModify.TabIndex = 3;
  220. this.btnModify.Text = "修改(&M)";
  221. this.btnModify.Click += new System.EventHandler(this.btnModify_Click);
  222. // 
  223. // btnDelete
  224. // 
  225. this.btnDelete.Location = new System.Drawing.Point(280, 280);
  226. this.btnDelete.Name = "btnDelete";
  227. this.btnDelete.Size = new System.Drawing.Size(112, 23);
  228. this.btnDelete.TabIndex = 8;
  229. this.btnDelete.Text = "删除(&D)";
  230. this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
  231. // 
  232. // sqlDataAdapter1
  233. // 
  234. this.sqlDataAdapter1.DeleteCommand = this.sqlDeleteCommand1;
  235. this.sqlDataAdapter1.InsertCommand = this.sqlInsertCommand1;
  236. this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;
  237. this.sqlDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
  238.   new System.Data.Common.DataTableMapping("Table", "组织机构编码表", new System.Data.Common.DataColumnMapping[] {
  239.  new System.Data.Common.DataColumnMapping("内部编号", "内部编号"),
  240.  new System.Data.Common.DataColumnMapping("类别", "类别"),
  241.  new System.Data.Common.DataColumnMapping("AbsIndex", "AbsIndex"),
  242.  new System.Data.Common.DataColumnMapping("ItemIndex", "ItemIndex"),
  243.  new System.Data.Common.DataColumnMapping("ItemLevel", "ItemLevel"),
  244.  new System.Data.Common.DataColumnMapping("ParentIndex", "ParentIndex"),
  245.  new System.Data.Common.DataColumnMapping("类别号", "类别号"),
  246.  new System.Data.Common.DataColumnMapping("单位编号", "单位编号"),
  247.  new System.Data.Common.DataColumnMapping("单位名称", "单位名称"),
  248.  new System.Data.Common.DataColumnMapping("拼音编码", "拼音编码"),
  249.  new System.Data.Common.DataColumnMapping("单位地址", "单位地址"),
  250.  new System.Data.Common.DataColumnMapping("单位电话号码", "单位电话号码"),
  251.  new System.Data.Common.DataColumnMapping("开户银行", "开户银行"),
  252.  new System.Data.Common.DataColumnMapping("帐号", "帐号"),
  253.  new System.Data.Common.DataColumnMapping("开户全称", "开户全称")})});
  254. this.sqlDataAdapter1.UpdateCommand = this.sqlUpdateCommand1;
  255. // 
  256. // sqlDeleteCommand1
  257. // 
  258. this.sqlDeleteCommand1.CommandText = @"DELETE FROM 组织机构编码表 WHERE (单位编号 = @Original_单位编号) AND (AbsIndex = @Original_AbsIndex OR @Original_AbsIndex IS NULL AND AbsIndex IS NULL) AND (ItemIndex = @Original_ItemIndex OR @Original_ItemIndex IS NULL AND ItemIndex IS NULL) AND (ItemLevel = @Original_ItemLevel OR @Original_ItemLevel IS NULL AND ItemLevel IS NULL) AND (ParentIndex = @Original_ParentIndex OR @Original_ParentIndex IS NULL AND ParentIndex IS NULL) AND (内部编号 = @Original_内部编号) AND (单位名称 = @Original_单位名称 OR @Original_单位名称 IS NULL AND 单位名称 IS NULL) AND (单位地址 = @Original_单位地址 OR @Original_单位地址 IS NULL AND 单位地址 IS NULL) AND (单位电话号码 = @Original_单位电话号码 OR @Original_单位电话号码 IS NULL AND 单位电话号码 IS NULL) AND (帐号 = @Original_帐号 OR @Original_帐号 IS NULL AND 帐号 IS NULL) AND (开户全称 = @Original_开户全称 OR @Original_开户全称 IS NULL AND 开户全称 IS NULL) AND (开户银行 = @Original_开户银行 OR @Original_开户银行 IS NULL AND 开户银行 IS NULL) AND (拼音编码 = @Original_拼音编码 OR @Original_拼音编码 IS NULL AND 拼音编码 IS NULL) AND (类别 = @Original_类别 OR @Original_类别 IS NULL AND 类别 IS NULL) AND (类别号 = @Original_类别号 OR @Original_类别号 IS NULL AND 类别号 IS NULL)";
  259. this.sqlDeleteCommand1.Connection = this.sqlConnection1;
  260. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_单位编号", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "单位编号", System.Data.DataRowVersion.Original, null));
  261. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_AbsIndex", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "AbsIndex", System.Data.DataRowVersion.Original, null));
  262. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ItemIndex", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ItemIndex", System.Data.DataRowVersion.Original, null));
  263. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ItemLevel", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ItemLevel", System.Data.DataRowVersion.Original, null));
  264. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ParentIndex", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ParentIndex", System.Data.DataRowVersion.Original, null));
  265. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_内部编号", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "内部编号", System.Data.DataRowVersion.Original, null));
  266. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_单位名称", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "单位名称", System.Data.DataRowVersion.Original, null));
  267. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_单位地址", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "单位地址", System.Data.DataRowVersion.Original, null));
  268. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_单位电话号码", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "单位电话号码", System.Data.DataRowVersion.Original, null));
  269. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_帐号", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "帐号", System.Data.DataRowVersion.Original, null));
  270. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_开户全称", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "开户全称", System.Data.DataRowVersion.Original, null));
  271. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_开户银行", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "开户银行", System.Data.DataRowVersion.Original, null));
  272. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_拼音编码", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "拼音编码", System.Data.DataRowVersion.Original, null));
  273. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_类别", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "类别", System.Data.DataRowVersion.Original, null));
  274. this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_类别号", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "类别号", System.Data.DataRowVersion.Original, null));
  275. // 
  276. // sqlConnection1
  277. // 
  278. this.sqlConnection1.ConnectionString = "workstation id=localhost;Integrated Security=SSPI;Database=hrmbook;";
  279. // 
  280. // sqlInsertCommand1
  281. // 
  282. this.sqlInsertCommand1.CommandText = @"INSERT INTO 组织机构编码表(类别, AbsIndex, ItemIndex, ItemLevel, ParentIndex, 类别号, 单位编号, 单位名称, 拼音编码, 单位地址, 单位电话号码, 开户银行, 帐号, 开户全称) VALUES (@类别, @AbsIndex, @ItemIndex, @ItemLevel, @ParentIndex, @类别号, @单位编号, @单位名称, @拼音编码, @单位地址, @单位电话号码, @开户银行, @帐号, @开户全称); SELECT 内部编号, 类别, AbsIndex, ItemIndex, ItemLevel, ParentIndex, 类别号, 单位编号, 单位名称, 拼音编码, 单位地址, 单位电话号码, 开户银行, 帐号, 开户全称 FROM 组织机构编码表 WHERE (单位编号 = @单位编号) ORDER BY AbsIndex";
  283. this.sqlInsertCommand1.Connection = this.sqlConnection1;
  284. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@类别", System.Data.SqlDbType.VarChar, 100, "类别"));
  285. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@AbsIndex", System.Data.SqlDbType.Int, 4, "AbsIndex"));
  286. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ItemIndex", System.Data.SqlDbType.Int, 4, "ItemIndex"));
  287. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ItemLevel", System.Data.SqlDbType.Int, 4, "ItemLevel"));
  288. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ParentIndex", System.Data.SqlDbType.Int, 4, "ParentIndex"));
  289. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@类别号", System.Data.SqlDbType.VarChar, 10, "类别号"));
  290. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@单位编号", System.Data.SqlDbType.VarChar, 20, "单位编号"));
  291. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@单位名称", System.Data.SqlDbType.VarChar, 100, "单位名称"));
  292. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@拼音编码", System.Data.SqlDbType.VarChar, 50, "拼音编码"));
  293. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@单位地址", System.Data.SqlDbType.VarChar, 100, "单位地址"));
  294. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@单位电话号码", System.Data.SqlDbType.VarChar, 50, "单位电话号码"));
  295. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@开户银行", System.Data.SqlDbType.VarChar, 100, "开户银行"));
  296. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@帐号", System.Data.SqlDbType.VarChar, 50, "帐号"));
  297. this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@开户全称", System.Data.SqlDbType.VarChar, 100, "开户全称"));
  298. // 
  299. // sqlSelectCommand1
  300. // 
  301. this.sqlSelectCommand1.CommandText = "SELECT 内部编号, 类别, AbsIndex, ItemIndex, ItemLevel, ParentIndex, 类别号, 单位编号, 单位名称, 拼音" +
  302. "编码, 单位地址, 单位电话号码, 开户银行, 帐号, 开户全称 FROM 组织机构编码表 ORDER BY AbsIndex";
  303. this.sqlSelectCommand1.Connection = this.sqlConnection1;
  304. // 
  305. // sqlUpdateCommand1
  306. // 
  307. this.sqlUpdateCommand1.CommandText = @"UPDATE 组织机构编码表 SET 类别 = @类别, AbsIndex = @AbsIndex, ItemIndex = @ItemIndex, ItemLevel = @ItemLevel, ParentIndex = @ParentIndex, 类别号 = @类别号, 单位编号 = @单位编号, 单位名称 = @单位名称, 拼音编码 = @拼音编码, 单位地址 = @单位地址, 单位电话号码 = @单位电话号码, 开户银行 = @开户银行, 帐号 = @帐号, 开户全称 = @开户全称 WHERE (单位编号 = @Original_单位编号) AND (AbsIndex = @Original_AbsIndex OR @Original_AbsIndex IS NULL AND AbsIndex IS NULL) AND (ItemIndex = @Original_ItemIndex OR @Original_ItemIndex IS NULL AND ItemIndex IS NULL) AND (ItemLevel = @Original_ItemLevel OR @Original_ItemLevel IS NULL AND ItemLevel IS NULL) AND (ParentIndex = @Original_ParentIndex OR @Original_ParentIndex IS NULL AND ParentIndex IS NULL) AND (单位名称 = @Original_单位名称 OR @Original_单位名称 IS NULL AND 单位名称 IS NULL) AND (单位地址 = @Original_单位地址 OR @Original_单位地址 IS NULL AND 单位地址 IS NULL) AND (单位电话号码 = @Original_单位电话号码 OR @Original_单位电话号码 IS NULL AND 单位电话号码 IS NULL) AND (帐号 = @Original_帐号 OR @Original_帐号 IS NULL AND 帐号 IS NULL) AND (开户全称 = @Original_开户全称 OR @Original_开户全称 IS NULL AND 开户全称 IS NULL) AND (开户银行 = @Original_开户银行 OR @Original_开户银行 IS NULL AND 开户银行 IS NULL) AND (拼音编码 = @Original_拼音编码 OR @Original_拼音编码 IS NULL AND 拼音编码 IS NULL) AND (类别 = @Original_类别 OR @Original_类别 IS NULL AND 类别 IS NULL) AND (类别号 = @Original_类别号 OR @Original_类别号 IS NULL AND 类别号 IS NULL); SELECT 内部编号, 类别, AbsIndex, ItemIndex, ItemLevel, ParentIndex, 类别号, 单位编号, 单位名称, 拼音编码, 单位地址, 单位电话号码, 开户银行, 帐号, 开户全称 FROM 组织机构编码表 WHERE (单位编号 = @单位编号) ORDER BY AbsIndex";
  308. this.sqlUpdateCommand1.Connection = this.sqlConnection1;
  309. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@类别", System.Data.SqlDbType.VarChar, 100, "类别"));
  310. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@AbsIndex", System.Data.SqlDbType.Int, 4, "AbsIndex"));
  311. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ItemIndex", System.Data.SqlDbType.Int, 4, "ItemIndex"));
  312. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ItemLevel", System.Data.SqlDbType.Int, 4, "ItemLevel"));
  313. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ParentIndex", System.Data.SqlDbType.Int, 4, "ParentIndex"));
  314. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@类别号", System.Data.SqlDbType.VarChar, 10, "类别号"));
  315. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@单位编号", System.Data.SqlDbType.VarChar, 20, "单位编号"));
  316. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@单位名称", System.Data.SqlDbType.VarChar, 100, "单位名称"));
  317. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@拼音编码", System.Data.SqlDbType.VarChar, 50, "拼音编码"));
  318. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@单位地址", System.Data.SqlDbType.VarChar, 100, "单位地址"));
  319. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@单位电话号码", System.Data.SqlDbType.VarChar, 50, "单位电话号码"));
  320. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@开户银行", System.Data.SqlDbType.VarChar, 100, "开户银行"));
  321. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@帐号", System.Data.SqlDbType.VarChar, 50, "帐号"));
  322. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@开户全称", System.Data.SqlDbType.VarChar, 100, "开户全称"));
  323. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_单位编号", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "单位编号", System.Data.DataRowVersion.Original, null));
  324. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_AbsIndex", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "AbsIndex", System.Data.DataRowVersion.Original, null));
  325. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ItemIndex", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ItemIndex", System.Data.DataRowVersion.Original, null));
  326. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ItemLevel", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ItemLevel", System.Data.DataRowVersion.Original, null));
  327. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ParentIndex", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ParentIndex", System.Data.DataRowVersion.Original, null));
  328. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_单位名称", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "单位名称", System.Data.DataRowVersion.Original, null));
  329. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_单位地址", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "单位地址", System.Data.DataRowVersion.Original, null));
  330. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_单位电话号码", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "单位电话号码", System.Data.DataRowVersion.Original, null));
  331. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_帐号", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "帐号", System.Data.DataRowVersion.Original, null));
  332. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_开户全称", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "开户全称", System.Data.DataRowVersion.Original, null));
  333. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_开户银行", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "开户银行", System.Data.DataRowVersion.Original, null));
  334. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_拼音编码", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "拼音编码", System.Data.DataRowVersion.Original, null));
  335. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_类别", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "类别", System.Data.DataRowVersion.Original, null));
  336. this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_类别号", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "类别号", System.Data.DataRowVersion.Original, null));
  337. // 
  338. // SetOrgInfo
  339. // 
  340. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  341. this.ClientSize = new System.Drawing.Size(672, 421);
  342. this.Controls.Add(this.groupBox1);
  343. this.Controls.Add(this.treeView1);
  344. this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
  345. this.Name = "SetOrgInfo";
  346. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  347. this.Text = "【机构设置及编码】";
  348. this.Load += new System.EventHandler(this.SetOrgInfo_Load);
  349. this.groupBox1.ResumeLayout(false);
  350. this.ResumeLayout(false);
  351. }
  352. #endregion
  353. ///
  354. //-------------在窗体初始化时,根据数据库中的记录创建树形图----------------
  355. private void SetOrgInfo_Load(object sender, System.EventArgs e)
  356. {
  357. this.sqlDataAdapter1.Fill(tblSetOrgInfo);//读入数据
  358.             DataTable tempDataTable = tblSetOrgInfo.Copy();//将组织机构表另存一份为tempDataTable
  359. DataView viewSetOrgInfo = new DataView(tempDataTable);//新建一个数据视图
  360. viewSetOrgInfo.RowFilter = "ItemLevel = 0";
  361. //将数据集中的所有记录逐个根据他们之间的关系添加到树形表中去
  362. if (viewSetOrgInfo.Count > 0)
  363. {
  364. foreach (DataRowView myRow in viewSetOrgInfo)
  365. {
  366. string strEnterpriseName = myRow["单位名称"].ToString().Trim();
  367. //此处是添加第一个节点“省医药集团”
  368. this.treeView1.Nodes.Add(new TreeNode(strEnterpriseName));
  369. //此处初始化参数是第一个节点“省医药集团”,然后该函数会递归添加所有子节点
  370. PopulateTreeView(strEnterpriseName,treeView1.Nodes[0],myRow);
  371. treeView1.SelectedNode = treeView1.Nodes[0]; //选中第一个节点 
  372. }
  373. }
  374. }
  375. //---------------根据输入的节点信息,递归调用最终添加所有的节点-----------------------
  376. private void PopulateTreeView(string parentPart,TreeNode parentNode,DataRowView parentRow)
  377. {
  378. string strEnterpriseName = "";
  379. DataTable tempDataTable = tblSetOrgInfo.Copy();
  380. DataView viewSetOrgInfo = new DataView(tempDataTable);
  381. //筛选获得当前传递过来的节点的子项,并将其添加到树形图中
  382. //判断方法是凡parentIndex等于传递过来的节点的absIndex的,就是该节点的子项
  383. viewSetOrgInfo.RowFilter = "ParentIndex = '" + parentRow["AbsIndex"].ToString().Trim() + "'";
  384. //递归的添加每一个节点的所有子节点
  385. foreach (DataRowView myRow in viewSetOrgInfo)  
  386. {
  387. strEnterpriseName = myRow["单位名称"].ToString().Trim();
  388. TreeNode myNode = new TreeNode(strEnterpriseName);
  389. parentNode.Nodes.Add(myNode);
  390. //函数递归调用,将所有节点按顺序添加完毕
  391. PopulateTreeView(strEnterpriseName,myNode,myRow); 
  392. }
  393. }
  394. //-----------当选中某一个节点时,在右边的文本框中显示其详细信息-------------------
  395. private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
  396. {
  397. this.textBox1.Text = e.Node.Text.Trim();
  398. InputTextBox2AndTextBox3(e.Node); //填写TextBox2和TextBox3
  399. }
  400.         //-----------根据父节点和节点所处的位置,计算合成编码,编码算法见章节中叙述-------------------
  401. private void CalParentNodesCount(TreeNode myNode)
  402. {
  403. if (myNode == null)
  404. {
  405. return;
  406. }
  407. if (myNode.Index>=10 || myNode.Parent == null)
  408. strTextBox3_Text = myNode.Index.ToString().Trim() + strTextBox3_Text;
  409. else
  410. strTextBox3_Text = "0" + myNode.Index.ToString().Trim() + strTextBox3_Text;
  411. if (myNode.Parent != null)
  412. {
  413. CalParentNodesCount(myNode.Parent);
  414. }
  415. }
  416.         //-----------------根据节点位置,显示本级别编码和机构合成编码信息---------------------
  417. private void InputTextBox2AndTextBox3(TreeNode myNode)
  418. {
  419. if (myNode.Index>=10 || myNode.Parent == null) //第二个条件是使根节点的编码为0
  420. this.textBox2.Text = myNode.Index.ToString();
  421. else
  422. this.textBox2.Text = "0" + myNode.Index.ToString();
  423. strTextBox3_Text = "";
  424. CalParentNodesCount(myNode);//计算机构合成编码信息
  425. this.textBox3.Text = strTextBox3_Text;
  426. }
  427. //---------------------退出窗体--------------------------------
  428. private void btnQuit_Click(object sender, System.EventArgs e)
  429. {
  430. this.Close();
  431. }
  432. //----------------------修改机构名称--------------------------------
  433. private void btnModify_Click(object sender, System.EventArgs e)
  434. {
  435. string strNewEnterpriseName = this.textBox1.Text.Trim();
  436. this.treeView1.SelectedNode.Text = strNewEnterpriseName;
  437. string strFilter = "单位编号 = '" + this.textBox3.Text.Trim() + "'";
  438. //通过单位编号在数据集中查找到数据项,并修改其名称和类别
  439. try
  440. {
  441. DataRow[] myRow = this.tblSetOrgInfo.Select(strFilter);
  442. if (myRow.Length ==1)
  443. {
  444. myRow[0]["类别"] = strNewEnterpriseName;
  445. myRow[0]["单位名称"] = strNewEnterpriseName;
  446. }
  447. }
  448. catch(Exception express)
  449. {
  450. MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  451. }
  452. SaveModify();//向数据库中提交修改,并保存
  453. }
  454. //-----------------将某个项目增加为第一级项目--------------------------
  455. private void btnNewFirstClass_Click(object sender, System.EventArgs e)
  456. {
  457. string strNewEnterpriseName = this.textBox1.Text.Trim();
  458. TreeNode newNode = new TreeNode(strNewEnterpriseName);
  459. this.treeView1.Nodes.Add(newNode);//增加为第一级别
  460. this.treeView1.SelectedNode = newNode;
  461. InputTextBox2AndTextBox3(newNode); //填写TextBox2和TextBox3
  462. //为新插入的项计算各个数据,如ItemIndex,AbsIndex等
  463. int lastRowIndex = this.tblSetOrgInfo.Rows.Count-1;
  464. string strAbsIndex  = this.tblSetOrgInfo.Rows[lastRowIndex]["AbsIndex"].ToString().Trim();
  465. int intAbsIndex = Int32.Parse(strAbsIndex) + 1;
  466. string strItemIndex = this.textBox2.Text.Trim();
  467. int intItemIndex = Int32.Parse(strItemIndex);
  468. string strEnterpriseID = this.textBox3.Text.Trim();
  469. int intItemLevel = 0;
  470. int intParentIndex = -1;
  471. try
  472. {
  473. DataRow newRow = this.tblSetOrgInfo.NewRow();
  474. newRow[1] = strNewEnterpriseName;
  475. newRow[2] = intAbsIndex;
  476. newRow[3] = intItemIndex;
  477. newRow[4] = intItemLevel;
  478. newRow[5] = intParentIndex;
  479. newRow[6] = strItemIndex;
  480. newRow[7] = strEnterpriseID;
  481.     newRow[8] = strNewEnterpriseName;
  482. this.tblSetOrgInfo.Rows.Add(newRow);
  483. }
  484. catch(Exception express)
  485. {
  486. MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  487. tblSetOrgInfo.RejectChanges();
  488. }
  489. SaveModify();//向数据库保存修改
  490. }
  491. //-----------添加同级项-------------------
  492. private void btnNewThisClass_Click(object sender, System.EventArgs e)
  493. {
  494. AddRecord(true);
  495. }
  496. //-----------添加子项-------------------
  497. private void btnNewChildClass_Click(object sender, System.EventArgs e)
  498. {
  499. AddRecord(false);
  500. }
  501. //-----------根据输入参数确定向树形图中添加同级项还是子项-------------------
  502. private void AddRecord(bool blAddInThisClass)
  503. {
  504. string strItemLevel = "";
  505. string strParentIndex = "";
  506. string strFilter = "单位编号 = '" + this.textBox3.Text.Trim() + "'";
  507. try
  508. {
  509. DataRow[] myRow = this.tblSetOrgInfo.Select(strFilter);//通过单位编号在数据集中查找到数据项
  510. if (myRow.Length == 1)
  511. {
  512. strItemLevel =  myRow[0]["ItemLevel"].ToString().Trim();
  513. //向数据集中添加新项
  514. if (blAddInThisClass == true)
  515. strParentIndex = myRow[0]["ParentIndex"].ToString().Trim();
  516. else
  517. strParentIndex = myRow[0]["AbsIndex"].ToString().Trim();
  518. }
  519. }
  520. catch(Exception express)
  521. {
  522. MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  523. }
  524.             
  525. //向树形图中添加新项
  526. string strNewEnterpriseName = this.textBox1.Text.Trim();
  527. TreeNode newNode = new TreeNode(strNewEnterpriseName);
  528. if (blAddInThisClass == true)
  529. {
  530. if (this.treeView1.SelectedNode.Parent == null) //当为第一级添加子节点时
  531. this.treeView1.Nodes.Add(newNode);
  532. else
  533. this.treeView1.SelectedNode.Parent.Nodes.Add(newNode);
  534. }
  535. else
  536. this.treeView1.SelectedNode.Nodes.Add(newNode);
  537. this.treeView1.SelectedNode = newNode;
  538. InputTextBox2AndTextBox3(newNode); //填写TextBox2和TextBox3
  539. //为新插入的项计算各个数据,如ItemIndex,AbsIndex等
  540. int lastRowIndex = this.tblSetOrgInfo.Rows.Count-1;
  541. string strAbsIndex  = this.tblSetOrgInfo.Rows[lastRowIndex]["AbsIndex"].ToString().Trim();
  542. int intAbsIndex = Int32.Parse(strAbsIndex) + 1;
  543. string strItemIndex = this.textBox2.Text.Trim();
  544. int intItemIndex = Int32.Parse(strItemIndex);
  545. string strEnterpriseID = this.textBox3.Text.Trim();
  546. int intItemLevel = 0;
  547. if (blAddInThisClass == true)
  548. intItemLevel = Int32.Parse(strItemLevel);
  549. else
  550. intItemLevel = Int32.Parse(strItemLevel) + 1;
  551. int intParentIndex = Int32.Parse(strParentIndex);
  552. try
  553. {
  554. DataRow newRow = this.tblSetOrgInfo.NewRow();
  555. newRow[1] = strNewEnterpriseName;
  556. newRow[2] = intAbsIndex;
  557. newRow[3] = intItemIndex;
  558. newRow[4] = intItemLevel;
  559. newRow[5] = intParentIndex;
  560. newRow[6] = strItemIndex;
  561. newRow[7] = strEnterpriseID;
  562. newRow[8] = strNewEnterpriseName;
  563. this.tblSetOrgInfo.Rows.Add(newRow);
  564. }
  565. catch(Exception express)
  566. {
  567. MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  568. tblSetOrgInfo.RejectChanges();
  569. }
  570.             //将更改保存入数据库
  571. SaveModify();
  572. }
  573. //-----------删除在树形图中选中的项目-------------------
  574. private void btnDelete_Click(object sender, System.EventArgs e)
  575. {
  576. string strEnterpriseID = this.textBox3.Text.Trim();
  577. string strFilter = "单位编号 = '" + strEnterpriseID + "'";
  578. try
  579. {
  580. DataRow[] myRow = this.tblSetOrgInfo.Select(strFilter);
  581. if (myRow.Length ==1)//找到该条记录,并从数据集中删除
  582. {
  583. string strFilter_ParentIndex = "ParentIndex = '" + myRow[0]["AbsIndex"].ToString().Trim() + "'";
  584. DataRow[] myChildRows = this.tblSetOrgInfo.Select(strFilter_ParentIndex);
  585. myRow[0].Delete();
  586. foreach (DataRow aRow in myChildRows)//如果该项目有子项,则将子项也一并全部删除
  587. {
  588. aRow.Delete();
  589. }
  590. }
  591. }
  592. catch(Exception express)
  593. {
  594. MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  595. }
  596. this.treeView1.SelectedNode.Remove();
  597. SaveModify();//将更改保存入数据库
  598. }
  599.         //-----------将数据集中的输入保存到数据库中-------------------
  600. private void SaveModify()
  601. {
  602. try
  603. {
  604. this.sqlDataAdapter1.Update(this.tblSetOrgInfo);
  605. }
  606. catch(Exception express)
  607. {
  608. MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  609. tblSetOrgInfo.RejectChanges();
  610. }
  611. }
  612. }
  613. }