ZKAdd.cs
上传用户:chizxy
上传日期:2014-11-29
资源大小:407k
文件大小:31k
源码类别:

其他行业

开发平台:

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. using System.Data.SqlClient;
  8. namespace MKIms3
  9. {
  10. /// <summary>
  11. /// ZKAdd 的摘要说明。
  12. /// </summary>
  13. public class ZKAdd : System.Windows.Forms.Form
  14. {
  15. public delegate void SendMess ( double x,double y ,double z ,string k_id) ;
  16. //定义委托类型
  17. public event SendMess Send ;
  18.        
  19. private string k_no;
  20. private double k_x;
  21. private double k_y;
  22. private double k_z;
  23. private double k_h;
  24. private string k_com;
  25. private DateTime k_date;
  26. private string k_other;
  27. private int k_id;
  28. private string k_lay;
  29. private bool bk_no;
  30. private bool bk_x;
  31. private bool bk_y;
  32. private bool bk_z;
  33. private bool bk_h;
  34. private bool bk_com;
  35. private bool bk_lay;
  36. private DataSet null_Set;
  37. private DataGridTableStyle GridTableStyle;
  38. private bool point; //用来标示是直接输入还是图上添加,图上为true
  39. #region 系统自己生成的字段
  40. private System.Windows.Forms.GroupBox groupBox4;
  41. private System.Windows.Forms.Button button_add_ceng;
  42. private System.Windows.Forms.TextBox textBox2;
  43. private System.Windows.Forms.Button button_add_kong;
  44. private System.Windows.Forms.GroupBox groupBox3;
  45. private System.Windows.Forms.DateTimePicker dateTimePicker_data;
  46. private System.Windows.Forms.TextBox txt_other;
  47. private System.Windows.Forms.Label label10;
  48. private System.Windows.Forms.Label label11;
  49. private System.Windows.Forms.Label label12;
  50. private System.Windows.Forms.Label label13;
  51. private System.Windows.Forms.Label label14;
  52. private System.Windows.Forms.Label label15;
  53. private System.Windows.Forms.Label label16;
  54. private System.Windows.Forms.TextBox txt_no;
  55. private System.Windows.Forms.TextBox txt_lay;
  56. private System.Windows.Forms.Label label17;
  57. private System.Windows.Forms.Label label18;
  58. private System.Windows.Forms.GroupBox groupBox2;
  59. private System.Windows.Forms.DataGrid dataGrid_lay;
  60. private System.Windows.Forms.NumericUpDown numericUpDown_x;
  61. private System.Windows.Forms.NumericUpDown numericUpDown_y;
  62. private System.Windows.Forms.NumericUpDown numericUpDown_z;
  63. private System.Windows.Forms.NumericUpDown numericUpDown_h;
  64. private System.Windows.Forms.TextBox txt_com;
  65. private System.Windows.Forms.ErrorProvider erp;
  66. #endregion
  67. /// <summary>
  68. /// 必需的设计器变量。
  69. /// </summary>
  70. private System.ComponentModel.Container components = null;
  71. public ZKAdd(double x,double y,bool point)
  72. {
  73. //
  74. // Windows 窗体设计器支持所必需的
  75. //
  76. InitializeComponent();
  77. //
  78. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  79. //
  80. bk_no = false;
  81. bk_x= false;
  82. bk_y= false;
  83. bk_z= false;
  84. bk_h= false;
  85. bk_com= false;
  86. bk_lay= false;
  87. this.numericUpDown_x.Value = Convert.ToDecimal(x);
  88. this.numericUpDown_y.Value =  Convert.ToDecimal(y);
  89. this.point = point;
  90. }
  91. /// <summary>
  92. /// 清理所有正在使用的资源。
  93. /// </summary>
  94. protected override void Dispose( bool disposing )
  95. {
  96. if( disposing )
  97. {
  98. if(components != null)
  99. {
  100. components.Dispose();
  101. }
  102. }
  103. base.Dispose( disposing );
  104. }
  105. #region Windows 窗体设计器生成的代码
  106. /// <summary>
  107. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  108. /// 此方法的内容。
  109. /// </summary>
  110. private void InitializeComponent()
  111. {
  112. System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(ZKAdd));
  113. this.groupBox4 = new System.Windows.Forms.GroupBox();
  114. this.button_add_ceng = new System.Windows.Forms.Button();
  115. this.textBox2 = new System.Windows.Forms.TextBox();
  116. this.button_add_kong = new System.Windows.Forms.Button();
  117. this.groupBox3 = new System.Windows.Forms.GroupBox();
  118. this.numericUpDown_h = new System.Windows.Forms.NumericUpDown();
  119. this.numericUpDown_z = new System.Windows.Forms.NumericUpDown();
  120. this.numericUpDown_y = new System.Windows.Forms.NumericUpDown();
  121. this.numericUpDown_x = new System.Windows.Forms.NumericUpDown();
  122. this.dateTimePicker_data = new System.Windows.Forms.DateTimePicker();
  123. this.txt_other = new System.Windows.Forms.TextBox();
  124. this.txt_com = new System.Windows.Forms.TextBox();
  125. this.label10 = new System.Windows.Forms.Label();
  126. this.label11 = new System.Windows.Forms.Label();
  127. this.label12 = new System.Windows.Forms.Label();
  128. this.label13 = new System.Windows.Forms.Label();
  129. this.label14 = new System.Windows.Forms.Label();
  130. this.label15 = new System.Windows.Forms.Label();
  131. this.label16 = new System.Windows.Forms.Label();
  132. this.txt_no = new System.Windows.Forms.TextBox();
  133. this.txt_lay = new System.Windows.Forms.TextBox();
  134. this.label17 = new System.Windows.Forms.Label();
  135. this.label18 = new System.Windows.Forms.Label();
  136. this.groupBox2 = new System.Windows.Forms.GroupBox();
  137. this.dataGrid_lay = new System.Windows.Forms.DataGrid();
  138. this.erp = new System.Windows.Forms.ErrorProvider();
  139. this.groupBox4.SuspendLayout();
  140. this.groupBox3.SuspendLayout();
  141. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_h)).BeginInit();
  142. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_z)).BeginInit();
  143. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_y)).BeginInit();
  144. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_x)).BeginInit();
  145. this.groupBox2.SuspendLayout();
  146. ((System.ComponentModel.ISupportInitialize)(this.dataGrid_lay)).BeginInit();
  147. this.SuspendLayout();
  148. // 
  149. // groupBox4
  150. // 
  151. this.groupBox4.Controls.Add(this.button_add_ceng);
  152. this.groupBox4.Controls.Add(this.textBox2);
  153. this.groupBox4.Controls.Add(this.button_add_kong);
  154. this.groupBox4.Location = new System.Drawing.Point(424, 8);
  155. this.groupBox4.Name = "groupBox4";
  156. this.groupBox4.Size = new System.Drawing.Size(272, 184);
  157. this.groupBox4.TabIndex = 10;
  158. this.groupBox4.TabStop = false;
  159. this.groupBox4.Text = "操作说明";
  160. // 
  161. // button_add_ceng
  162. // 
  163. this.button_add_ceng.Enabled = false;
  164. this.button_add_ceng.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  165. this.button_add_ceng.Location = new System.Drawing.Point(139, 144);
  166. this.button_add_ceng.Name = "button_add_ceng";
  167. this.button_add_ceng.Size = new System.Drawing.Size(119, 24);
  168. this.button_add_ceng.TabIndex = 1;
  169. this.button_add_ceng.Text = "提交钻孔煤层信息";
  170. this.button_add_ceng.Click += new System.EventHandler(this.button_add_ceng_Click);
  171. // 
  172. // textBox2
  173. // 
  174. this.textBox2.AcceptsReturn = true;
  175. this.textBox2.BackColor = System.Drawing.SystemColors.Info;
  176. this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
  177. this.textBox2.Cursor = System.Windows.Forms.Cursors.No;
  178. this.textBox2.Enabled = false;
  179. this.textBox2.ForeColor = System.Drawing.Color.DarkRed;
  180. this.textBox2.Location = new System.Drawing.Point(8, 16);
  181. this.textBox2.Multiline = true;
  182. this.textBox2.Name = "textBox2";
  183. this.textBox2.Size = new System.Drawing.Size(256, 120);
  184. this.textBox2.TabIndex = 2;
  185. this.textBox2.Text = "                                          1.带(*)的项为必填项 。                 2.首先填写钻孔" +
  186. "基本信息,确认无误后提交。  3.依次填写钻孔煤层信息,确认无误后提交。  4.您添加的钻孔只能在系统默认地图上显示。  5.岩性说明:您可以从下拉列表框中选择" +
  187. ",如果所需岩性不存在,请先在岩性管理操作中添加。6.层位说明:例如 P2(2-1)中前一个2为下标“2-1”为上标,其他依此类推。 ";
  188. // 
  189. // button_add_kong
  190. // 
  191. this.button_add_kong.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  192. this.button_add_kong.Location = new System.Drawing.Point(11, 144);
  193. this.button_add_kong.Name = "button_add_kong";
  194. this.button_add_kong.Size = new System.Drawing.Size(120, 24);
  195. this.button_add_kong.TabIndex = 0;
  196. this.button_add_kong.Text = "提交钻孔基本信息";
  197. this.button_add_kong.Click += new System.EventHandler(this.button_add_kong_Click);
  198. // 
  199. // groupBox3
  200. // 
  201. this.groupBox3.Controls.Add(this.numericUpDown_h);
  202. this.groupBox3.Controls.Add(this.numericUpDown_z);
  203. this.groupBox3.Controls.Add(this.numericUpDown_y);
  204. this.groupBox3.Controls.Add(this.numericUpDown_x);
  205. this.groupBox3.Controls.Add(this.dateTimePicker_data);
  206. this.groupBox3.Controls.Add(this.txt_other);
  207. this.groupBox3.Controls.Add(this.txt_com);
  208. this.groupBox3.Controls.Add(this.label10);
  209. this.groupBox3.Controls.Add(this.label11);
  210. this.groupBox3.Controls.Add(this.label12);
  211. this.groupBox3.Controls.Add(this.label13);
  212. this.groupBox3.Controls.Add(this.label14);
  213. this.groupBox3.Controls.Add(this.label15);
  214. this.groupBox3.Controls.Add(this.label16);
  215. this.groupBox3.Controls.Add(this.txt_no);
  216. this.groupBox3.Controls.Add(this.txt_lay);
  217. this.groupBox3.Controls.Add(this.label17);
  218. this.groupBox3.Controls.Add(this.label18);
  219. this.groupBox3.Location = new System.Drawing.Point(8, 8);
  220. this.groupBox3.Name = "groupBox3";
  221. this.groupBox3.Size = new System.Drawing.Size(408, 184);
  222. this.groupBox3.TabIndex = 8;
  223. this.groupBox3.TabStop = false;
  224. this.groupBox3.Text = "钻孔基本信息";
  225. // 
  226. // numericUpDown_h
  227. // 
  228. this.numericUpDown_h.DecimalPlaces = 2;
  229. this.numericUpDown_h.Location = new System.Drawing.Point(286, 24);
  230. this.numericUpDown_h.Maximum = new System.Decimal(new int[] {
  231. 999999999,
  232. 0,
  233. 0,
  234. 0});
  235. this.numericUpDown_h.Name = "numericUpDown_h";
  236. this.numericUpDown_h.Size = new System.Drawing.Size(98, 21);
  237. this.numericUpDown_h.TabIndex = 4;
  238. this.numericUpDown_h.ThousandsSeparator = true;
  239. this.numericUpDown_h.Validated += new System.EventHandler(this.numericUpDown_h_Validated);
  240. // 
  241. // numericUpDown_z
  242. // 
  243. this.numericUpDown_z.DecimalPlaces = 2;
  244. this.numericUpDown_z.Location = new System.Drawing.Point(88, 97);
  245. this.numericUpDown_z.Maximum = new System.Decimal(new int[] {
  246. 999999999,
  247. 0,
  248. 0,
  249. 0});
  250. this.numericUpDown_z.Name = "numericUpDown_z";
  251. this.numericUpDown_z.Size = new System.Drawing.Size(96, 21);
  252. this.numericUpDown_z.TabIndex = 3;
  253. this.numericUpDown_z.ThousandsSeparator = true;
  254. this.numericUpDown_z.Validated += new System.EventHandler(this.numericUpDown_z_Validated);
  255. // 
  256. // numericUpDown_y
  257. // 
  258. this.numericUpDown_y.DecimalPlaces = 2;
  259. this.numericUpDown_y.Location = new System.Drawing.Point(88, 73);
  260. this.numericUpDown_y.Maximum = new System.Decimal(new int[] {
  261. 999999999,
  262. 0,
  263. 0,
  264. 0});
  265. this.numericUpDown_y.Name = "numericUpDown_y";
  266. this.numericUpDown_y.Size = new System.Drawing.Size(96, 21);
  267. this.numericUpDown_y.TabIndex = 2;
  268. this.numericUpDown_y.ThousandsSeparator = true;
  269. this.numericUpDown_y.Validated += new System.EventHandler(this.numericUpDown_y_Validated);
  270. // 
  271. // numericUpDown_x
  272. // 
  273. this.numericUpDown_x.DecimalPlaces = 2;
  274. this.numericUpDown_x.Location = new System.Drawing.Point(88, 49);
  275. this.numericUpDown_x.Maximum = new System.Decimal(new int[] {
  276. 999999999,
  277. 0,
  278. 0,
  279. 0});
  280. this.numericUpDown_x.Name = "numericUpDown_x";
  281. this.numericUpDown_x.Size = new System.Drawing.Size(96, 21);
  282. this.numericUpDown_x.TabIndex = 1;
  283. this.numericUpDown_x.ThousandsSeparator = true;
  284. this.numericUpDown_x.Validated += new System.EventHandler(this.numericUpDown_x_Validated);
  285. // 
  286. // dateTimePicker_data
  287. // 
  288. this.dateTimePicker_data.Location = new System.Drawing.Point(286, 99);
  289. this.dateTimePicker_data.Name = "dateTimePicker_data";
  290. this.dateTimePicker_data.Size = new System.Drawing.Size(98, 21);
  291. this.dateTimePicker_data.TabIndex = 7;
  292. // 
  293. // txt_other
  294. // 
  295. this.txt_other.Location = new System.Drawing.Point(86, 128);
  296. this.txt_other.Multiline = true;
  297. this.txt_other.Name = "txt_other";
  298. this.txt_other.Size = new System.Drawing.Size(298, 48);
  299. this.txt_other.TabIndex = 8;
  300. this.txt_other.Text = "";
  301. // 
  302. // txt_com
  303. // 
  304. this.txt_com.Location = new System.Drawing.Point(286, 73);
  305. this.txt_com.Name = "txt_com";
  306. this.txt_com.Size = new System.Drawing.Size(98, 21);
  307. this.txt_com.TabIndex = 6;
  308. this.txt_com.Text = "";
  309. this.txt_com.Validated += new System.EventHandler(this.txt_com_Validated);
  310. // 
  311. // label10
  312. // 
  313. this.label10.Location = new System.Drawing.Point(38, 144);
  314. this.label10.Name = "label10";
  315. this.label10.Size = new System.Drawing.Size(32, 16);
  316. this.label10.TabIndex = 23;
  317. this.label10.Text = "备注";
  318. // 
  319. // label11
  320. // 
  321. this.label11.Location = new System.Drawing.Point(206, 81);
  322. this.label11.Name = "label11";
  323. this.label11.Size = new System.Drawing.Size(76, 16);
  324. this.label11.TabIndex = 20;
  325. this.label11.Text = "施工单位(*)";
  326. // 
  327. // label12
  328. // 
  329. this.label12.Location = new System.Drawing.Point(206, 104);
  330. this.label12.Name = "label12";
  331. this.label12.Size = new System.Drawing.Size(76, 16);
  332. this.label12.TabIndex = 19;
  333. this.label12.Text = "施工时间(*)";
  334. // 
  335. // label13
  336. // 
  337. this.label13.Location = new System.Drawing.Point(6, 77);
  338. this.label13.Name = "label13";
  339. this.label13.Size = new System.Drawing.Size(80, 16);
  340. this.label13.TabIndex = 2;
  341. this.label13.Text = "孔口坐标Y(*)";
  342. // 
  343. // label14
  344. // 
  345. this.label14.Location = new System.Drawing.Point(6, 102);
  346. this.label14.Name = "label14";
  347. this.label14.Size = new System.Drawing.Size(80, 16);
  348. this.label14.TabIndex = 3;
  349. this.label14.Text = "孔口坐标Z(*)";
  350. // 
  351. // label15
  352. // 
  353. this.label15.Location = new System.Drawing.Point(206, 30);
  354. this.label15.Name = "label15";
  355. this.label15.Size = new System.Drawing.Size(76, 16);
  356. this.label15.TabIndex = 21;
  357. this.label15.Text = "终孔深度(*)";
  358. // 
  359. // label16
  360. // 
  361. this.label16.Location = new System.Drawing.Point(14, 28);
  362. this.label16.Name = "label16";
  363. this.label16.Size = new System.Drawing.Size(72, 17);
  364. this.label16.TabIndex = 0;
  365. this.label16.Text = "钻孔编号(*)";
  366. // 
  367. // txt_no
  368. // 
  369. this.txt_no.Location = new System.Drawing.Point(88, 23);
  370. this.txt_no.Name = "txt_no";
  371. this.txt_no.Size = new System.Drawing.Size(96, 21);
  372. this.txt_no.TabIndex = 0;
  373. this.txt_no.Text = "";
  374. this.txt_no.Validated += new System.EventHandler(this.txt_no_Validated);
  375. // 
  376. // txt_lay
  377. // 
  378. this.txt_lay.Location = new System.Drawing.Point(286, 48);
  379. this.txt_lay.Name = "txt_lay";
  380. this.txt_lay.Size = new System.Drawing.Size(98, 21);
  381. this.txt_lay.TabIndex = 5;
  382. this.txt_lay.Text = "";
  383. this.txt_lay.Validated += new System.EventHandler(this.txt_lay_Validated);
  384. // 
  385. // label17
  386. // 
  387. this.label17.Location = new System.Drawing.Point(206, 54);
  388. this.label17.Name = "label17";
  389. this.label17.Size = new System.Drawing.Size(76, 16);
  390. this.label17.TabIndex = 22;
  391. this.label17.Text = "终孔层位(*)";
  392. // 
  393. // label18
  394. // 
  395. this.label18.Location = new System.Drawing.Point(6, 53);
  396. this.label18.Name = "label18";
  397. this.label18.Size = new System.Drawing.Size(80, 17);
  398. this.label18.TabIndex = 1;
  399. this.label18.Text = "孔口坐标X(*)";
  400. // 
  401. // groupBox2
  402. // 
  403. this.groupBox2.Controls.Add(this.dataGrid_lay);
  404. this.groupBox2.Location = new System.Drawing.Point(8, 192);
  405. this.groupBox2.Name = "groupBox2";
  406. this.groupBox2.Size = new System.Drawing.Size(688, 186);
  407. this.groupBox2.TabIndex = 9;
  408. this.groupBox2.TabStop = false;
  409. this.groupBox2.Text = "钻孔煤层信息";
  410. // 
  411. // dataGrid_lay
  412. // 
  413. this.dataGrid_lay.CaptionVisible = false;
  414. this.dataGrid_lay.DataMember = "";
  415. this.dataGrid_lay.Dock = System.Windows.Forms.DockStyle.Fill;
  416. this.dataGrid_lay.HeaderForeColor = System.Drawing.SystemColors.ControlText;
  417. this.dataGrid_lay.Location = new System.Drawing.Point(3, 17);
  418. this.dataGrid_lay.Name = "dataGrid_lay";
  419. this.dataGrid_lay.Size = new System.Drawing.Size(682, 166);
  420. this.dataGrid_lay.TabIndex = 0;
  421. // 
  422. // erp
  423. // 
  424. this.erp.ContainerControl = this;
  425. // 
  426. // ZKAdd
  427. // 
  428. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  429. this.ClientSize = new System.Drawing.Size(704, 389);
  430. this.Controls.Add(this.groupBox4);
  431. this.Controls.Add(this.groupBox3);
  432. this.Controls.Add(this.groupBox2);
  433. this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
  434. this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
  435. this.Name = "ZKAdd";
  436. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  437. this.Text = "钻孔数据添加";
  438. this.groupBox4.ResumeLayout(false);
  439. this.groupBox3.ResumeLayout(false);
  440. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_h)).EndInit();
  441. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_z)).EndInit();
  442. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_y)).EndInit();
  443. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_x)).EndInit();
  444. this.groupBox2.ResumeLayout(false);
  445. ((System.ComponentModel.ISupportInitialize)(this.dataGrid_lay)).EndInit();
  446. this.ResumeLayout(false);
  447. }
  448. #endregion
  449. #region 得到输入的数据、验证数据
  450. private void get_value()
  451. {
  452. this.k_no = this.txt_no.Text.Trim();
  453. this.k_x = Convert.ToDouble(this.numericUpDown_x.Value);
  454. this.k_y = Convert.ToDouble(this.numericUpDown_y.Value);
  455. this.k_z = Convert.ToDouble(this.numericUpDown_z.Value);
  456. this.k_h = Convert.ToDouble(this.numericUpDown_h.Value);
  457. this.k_other = this.txt_other.Text.Trim();
  458. this.k_com = this.txt_com.Text.Trim();
  459. this.k_date = (DateTime)this.dateTimePicker_data.Value;
  460. this.k_lay = this.txt_lay.Text.Trim();
  461. }
  462. /// <summary>
  463. /// 设置错误信息和去掉错误信息
  464. /// </summary>
  465. /// <param name="no">是否错误</param>
  466. /// <param name="control">错误的对象</param>
  467. /// <param name="errstring">错误的信息</param>
  468. private void setErr(bool no,System.Windows.Forms.Control control,string errstring,ref bool b_ok)
  469. {
  470. if(no)
  471. {
  472. this.erp.SetError(control,errstring);
  473. b_ok = false;
  474. }
  475. else
  476. this.erp.SetError(control,"");
  477. b_ok = true;
  478. }
  479. }
  480. #endregion
  481. #region 添加钻孔的基本信息 、添加相关煤层信息
  482. /// <summary>
  483. /// 判断钻孔是否存在
  484. /// </summary>
  485. /// <param name="k_no">钻孔的编号</param>
  486. /// <returns>true or false 不存在返回true</returns>
  487. private bool kong_isin(string  k_no)
  488. {
  489. DataBase myDB = new DataBase();
  490. SqlParameter[] myParamers={
  491. new SqlParameter("@k_id",SqlDbType.Char,10),
  492. new SqlParameter("@count",SqlDbType.Int)
  493. };
  494. myParamers[0].Value = k_no;
  495. myParamers[1].Direction = ParameterDirection.Output;
  496. if(myDB.RunProcedure_Nr("up_find_kong",myParamers))  
  497. {
  498. int m = Convert.ToInt32(myParamers[1].Value);
  499. if(m==0)
  500. {
  501. return true;
  502. }
  503. else
  504. {
  505. return false;
  506. }
  507. }
  508. else
  509. {
  510. return false;
  511. }
  512. }
  513. /// <summary>
  514. /// 开始添加钻孔的基本信息,并且得到该条纪录的id号
  515. /// </summary>
  516. /// <returns>添加是否成功</returns>
  517. private bool add_kong_ok()
  518. {
  519. DataBase myDB = new DataBase();
  520. SqlParameter[] myParamers={
  521.   new SqlParameter("@k_bianhao",SqlDbType.Char,10),
  522.   new SqlParameter("@x",SqlDbType.Float),
  523.   new SqlParameter("@y",SqlDbType.Float),
  524.   new SqlParameter("@z",SqlDbType.Float),
  525.   new SqlParameter("@shigong_time",SqlDbType.DateTime),
  526.   new SqlParameter("@shigong_danwei",SqlDbType.Char,30),
  527.   new SqlParameter("@beizhu",SqlDbType.VarChar,500),
  528.   new SqlParameter("@kong_shendu",SqlDbType.Float),
  529.   new SqlParameter("@kong_cengwei",SqlDbType.Char,5),
  530.   new SqlParameter("@k_id",SqlDbType.Int,4)       
  531.   } ;
  532. myParamers[0].Value = this.k_no;
  533. myParamers[1].Value = this.k_x;
  534. myParamers[2].Value = this.k_y;
  535. myParamers[3].Value = this.k_z;
  536. myParamers[4].Value = this.k_date;
  537. myParamers[5].Value = this.k_com;
  538. myParamers[6].Value = this.k_other;
  539. myParamers[7].Value = this.k_h;
  540. myParamers[8].Value = this.k_lay;
  541. myParamers[9].Direction = ParameterDirection.Output;
  542. if(myDB.RunProcedure_Nr("up_add_kong",myParamers))
  543. {
  544. this.k_id = Convert.ToInt32(myParamers[9].Value);
  545. return true;
  546. }
  547. else
  548. {
  549. MessageBox.Show("添加钻孔信息错误!","错误信息",MessageBoxButtons.OK,MessageBoxIcon.Error);
  550. return false;
  551. }
  552. }
  553. /// <summary>
  554. /// 得到所有的填充选项
  555. /// </summary>
  556. /// <returns>DataSet 包含填充信息</returns>
  557. private DataSet get_fill()
  558. {
  559. DataSet yanset = new DataSet();
  560. DataBase myDB = new DataBase();
  561. yanset = myDB.RunProcedure("get_yanxin","yan");
  562. return yanset;
  563. }
  564.         
  565. /// <summary>
  566. /// 得到一个空的dataset以接受煤层信息的输入
  567. /// </summary>
  568. /// <returns>DataSet 空的 包含煤层信息字段</returns>
  569. private DataSet get_null_lay()
  570. {
  571. DataSet myset = new DataSet();
  572. DataBase myDB = new DataBase();
  573. SqlParameter[] myParamers={new SqlParameter("@k_id",SqlDbType.Char,10)} ;
  574. myParamers[0].Value = 0; //显示一个空的
  575. myset = myDB.RunProcedure("up_get_ceng_info",myParamers,"null_lay");
  576. return myset;
  577. }
  578.          
  579. /// <summary>
  580. /// 添加datagrid的列标题  
  581. /// </summary>
  582. /// <param name="myset">空的层位dataset</param>
  583. /// <param name="yanset">下拉框的填充</param>
  584. /// <param name="k_id">所添加的钻孔的id号</param>
  585. private void Addstyle(DataSet myset,DataSet yanset,int k_id)
  586. {
  587.     
  588. CurrencyManager objcengCM;
  589. GridTableStyle = new DataGridTableStyle();
  590. GridTableStyle.MappingName = "null_lay";
  591. objcengCM = (System.Windows.Forms.CurrencyManager)this.BindingContext[myset.Tables[0]];
  592. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["煤层名称"]));
  593. GridTableStyle.GridColumnStyles[0].MappingName = "煤层名称";
  594. GridTableStyle.GridColumnStyles[0].HeaderText = "煤层名称";
  595. GridTableStyle.GridColumnStyles[0].Alignment = HorizontalAlignment.Left;
  596. GridTableStyle.GridColumnStyles[0].NullText = string.Empty;
  597. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["止煤深度"]));
  598. GridTableStyle.GridColumnStyles[1].MappingName = "止煤深度";
  599. GridTableStyle.GridColumnStyles[1].HeaderText = "止煤深度";
  600. GridTableStyle.GridColumnStyles[1].Alignment = HorizontalAlignment.Left;
  601. GridTableStyle.GridColumnStyles[1].NullText = string.Empty;
  602. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["底板坐标x"]));
  603. GridTableStyle.GridColumnStyles[2].MappingName = "底板坐标x";
  604. GridTableStyle.GridColumnStyles[2].HeaderText = "底板坐标x";
  605. GridTableStyle.GridColumnStyles[2].Alignment = HorizontalAlignment.Left;
  606. GridTableStyle.GridColumnStyles[2].NullText = string.Empty;
  607. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["底板坐标y"]));
  608. GridTableStyle.GridColumnStyles[3].MappingName = "底板坐标y";
  609. GridTableStyle.GridColumnStyles[3].HeaderText = "底板坐标y";
  610. GridTableStyle.GridColumnStyles[3].Alignment = HorizontalAlignment.Left;
  611. GridTableStyle.GridColumnStyles[3].NullText = string.Empty;
  612.              
  613. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["底板坐标z"]));
  614. GridTableStyle.GridColumnStyles[4].MappingName = "底板坐标z";
  615. GridTableStyle.GridColumnStyles[4].HeaderText = "底板坐标z";
  616. GridTableStyle.GridColumnStyles[4].Alignment = HorizontalAlignment.Left;
  617. GridTableStyle.GridColumnStyles[4].NullText = string.Empty;
  618. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["煤层伪厚"]));
  619. GridTableStyle.GridColumnStyles[5].MappingName = "煤层伪厚";
  620. GridTableStyle.GridColumnStyles[5].HeaderText = "煤层伪厚";
  621. GridTableStyle.GridColumnStyles[5].Alignment = HorizontalAlignment.Left;
  622. GridTableStyle.GridColumnStyles[5].NullText = string.Empty;
  623. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["利用厚度"]));
  624. GridTableStyle.GridColumnStyles[6].MappingName = "利用厚度";
  625. GridTableStyle.GridColumnStyles[6].HeaderText = "利用厚度";
  626. GridTableStyle.GridColumnStyles[6].Alignment = HorizontalAlignment.Left;
  627. GridTableStyle.GridColumnStyles[6].NullText = string.Empty;
  628. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["煤层倾角"]));
  629. GridTableStyle.GridColumnStyles[7].MappingName = "煤层倾角";
  630. GridTableStyle.GridColumnStyles[7].HeaderText = "煤层倾角";
  631. GridTableStyle.GridColumnStyles[7].Alignment = HorizontalAlignment.Left;
  632. GridTableStyle.GridColumnStyles[7].NullText = string.Empty;
  633. GridTableStyle.GridColumnStyles.Add(new DataGridComboBoxColumn(yanset.Tables["yan"],0,0));
  634. GridTableStyle.GridColumnStyles[8].MappingName = "顶板岩性";
  635. GridTableStyle.GridColumnStyles[8].HeaderText = "顶板岩性";
  636. GridTableStyle.GridColumnStyles[8].Alignment = HorizontalAlignment.Left;
  637. GridTableStyle.GridColumnStyles[8].NullText = string.Empty;
  638. GridTableStyle.GridColumnStyles.Add(new DataGridComboBoxColumn(yanset.Tables["yan"],0,0));
  639. GridTableStyle.GridColumnStyles[9].MappingName = "底板岩性";
  640. GridTableStyle.GridColumnStyles[9].HeaderText = "底板岩性";
  641. GridTableStyle.GridColumnStyles[9].Alignment = HorizontalAlignment.Left;
  642. GridTableStyle.GridColumnStyles[9].NullText = string.Empty;
  643. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["等级"]));
  644. GridTableStyle.GridColumnStyles[10].MappingName = "等级";
  645. GridTableStyle.GridColumnStyles[10].HeaderText = "等级";
  646. GridTableStyle.GridColumnStyles[10].Alignment = HorizontalAlignment.Left;
  647. GridTableStyle.GridColumnStyles[10].NullText = string.Empty;
  648. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["钻孔序号"]));
  649. GridTableStyle.GridColumnStyles[11].MappingName = "钻孔序号";
  650. GridTableStyle.GridColumnStyles[11].HeaderText = "钻孔序号";
  651. GridTableStyle.GridColumnStyles[11].Alignment = HorizontalAlignment.Left;
  652. GridTableStyle.GridColumnStyles[11].Width =0; //隐藏起来不让用户输入
  653. GridTableStyle.GridColumnStyles[11].NullText = k_id.ToString();
  654. GridTableStyle.GridColumnStyles[11].ReadOnly = true;
  655. }
  656. private void show_add_lay()
  657. {
  658. this.null_Set = get_null_lay();
  659. null_Set.Tables[0].Columns["钻孔序号"].DefaultValue = this.k_id;
  660. DataSet yanset = new DataSet();
  661. yanset = get_fill();
  662. Addstyle(this.null_Set,yanset,this.k_id);
  663. this.dataGrid_lay.DataSource = this.null_Set;
  664. this.dataGrid_lay.DataMember="null_lay";
  665. this.dataGrid_lay.TableStyles.Add(this.GridTableStyle);
  666. }
  667. #endregion
  668. #region 添加钻孔有关的煤层信息  ,在地图关联钻孔中添加相应的纪录
  669. /// <summary>
  670. /// 将与null_set关联的datagrid里面的数据更新回数据库
  671. /// </summary>
  672. /// <returns></returns>
  673. private bool add_lay()
  674. {
  675. DataBase myDB = new DataBase();
  676. string selectaa = " select  ceng.煤层名称, ceng.止煤深度,  ceng.底板坐标x, ceng.底板坐标y, ceng.底板坐标z, ceng.煤层伪厚, ceng.煤层倾角, ceng.利用厚度,  ceng.顶板岩性, ceng.底板岩性, ceng.钻孔序号, ceng.等级 from 煤层关联钻孔 as ceng where 1>2";                    
  677. if(myDB.Run_change(selectaa,this.null_Set,"null_lay"))
  678. {
  679. return true;
  680. }
  681. else
  682. {
  683. return false;
  684. }
  685. }
  686. /// <summary>
  687. /// 添加钻孔关联地图的纪录
  688. /// </summary>
  689. /// <param name="kong_id">钻孔的id</param>
  690. /// <param name="map_id">地图的id</param>
  691. /// <returns></returns>
  692. private bool add_map_kong(int kong_id,int map_id)
  693. {
  694. DataBase myDB = new DataBase();
  695. SqlParameter[] myParamers={
  696.   new SqlParameter("@k_id",SqlDbType.Int),
  697.   new SqlParameter("@map_id",SqlDbType.Int)
  698.   };
  699. myParamers[0].Value = kong_id;
  700. myParamers[1].Value = map_id;
  701. if(myDB.RunProcedure_Nr("up_add_map_kong",myParamers))
  702. {
  703. return true;
  704. }
  705. else
  706. {
  707. return false;
  708. }
  709. }
  710. #endregion
  711. private void txt_no_Validated(object sender, System.EventArgs e)
  712. {
  713. bool no = (this.txt_no.Text.Length == 0);
  714. setErr(no,this.txt_no,"钻孔编号不能为空",ref this.bk_no);
  715. }
  716. private void txt_lay_Validated(object sender, System.EventArgs e)
  717. {
  718. bool no = (this.txt_lay.Text.Length == 0);
  719. setErr(no,this.txt_lay,"终孔层位不能为空",ref this.bk_lay);
  720. }
  721. private void txt_com_Validated(object sender, System.EventArgs e)
  722. {
  723. bool no = (this.txt_com.Text.Length == 0);
  724. setErr(no,this.txt_com,"施工单位不能为空",ref this.bk_com);
  725. }
  726. private void numericUpDown_x_Validated(object sender, System.EventArgs e)
  727. {
  728. bool no = (Convert.ToDouble(this.numericUpDown_x.Value) == 0);
  729. setErr(no,this.numericUpDown_x,"孔口坐标X不能为“0”",ref this.bk_x);
  730. }
  731. private void numericUpDown_y_Validated(object sender, System.EventArgs e)
  732. {
  733. bool no = (Convert.ToDouble(this.numericUpDown_y.Value) == 0);
  734. setErr(no,this.numericUpDown_y,"孔口坐标Y不能为“0”",ref this.bk_y);
  735. }
  736. private void numericUpDown_z_Validated(object sender, System.EventArgs e)
  737. {
  738. bool no = (Convert.ToDouble(this.numericUpDown_z.Value) == 0);
  739. setErr(no,this.numericUpDown_z,"孔口坐标Z不能为“0”",ref this.bk_z);
  740. }
  741. private void numericUpDown_h_Validated(object sender, System.EventArgs e)
  742. {
  743. bool no = (Convert.ToDouble(this.numericUpDown_h.Value) == 0);
  744. setErr(no,this.numericUpDown_h,"终孔深度不能为“0”",ref this.bk_h);
  745. }
  746. private void button_add_kong_Click(object sender, System.EventArgs e)
  747. {
  748. bool submit_ok = false;
  749. if(this.point ==false)
  750. {
  751. submit_ok = bk_no & bk_x & bk_y & bk_z & bk_h & bk_com & bk_lay;
  752. }
  753. else
  754. {
  755. submit_ok = bk_no & bk_z & bk_h & bk_com & bk_lay;  //图上添加的,x,y不需要验证。
  756. }
  757. if(submit_ok)
  758. {
  759. get_value(); //得到数据。准备往数据库里面添加
  760. if(kong_isin(this.k_no))
  761. {
  762. if(add_kong_ok())
  763. {
  764. if(add_map_kong(this.k_id,1))
  765. {
  766. this.Cursor = Cursors.WaitCursor;
  767. this.button_add_kong.Enabled = false;
  768. this.button_add_ceng.Enabled = true;
  769. double xx = Convert.ToDouble(this.numericUpDown_x.Value);
  770. double yy = Convert.ToDouble(this.numericUpDown_y.Value);
  771. double zz = Convert.ToDouble(this.numericUpDown_z.Value);
  772. string idd = this.txt_no.Text.Trim();
  773. //发送在图上加点的事件
  774. this.Send(xx,yy,zz,idd);
  775. show_add_lay();
  776. this.Cursor = Cursors.Default;
  777. }
  778. else
  779. {
  780. MessageBox.Show("钻孔相关地图记录添加错误","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
  781. }
  782. }
  783. }
  784. else
  785. {
  786. MessageBox.Show("该钻孔信息已经存在","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
  787. }
  788.                 
  789. }
  790. else
  791. {
  792. MessageBox.Show("请将必需的数据填充完毕后再提交","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
  793. }
  794. }
  795. private void button_add_ceng_Click(object sender, System.EventArgs e)
  796. {
  797. if(add_lay())
  798. {
  799. MessageBox.Show("相关煤层信息添加成功!","系统信息",MessageBoxButtons.OK,MessageBoxIcon.Information);
  800. }
  801. else
  802. {
  803.                 MessageBox.Show("相关煤层信息添加失败!","错误信息",MessageBoxButtons.OK,MessageBoxIcon.Error);
  804. }
  805. }
  806. }
  807. }