From 0723743672550a8d572aab63140ccaeb531053fe Mon Sep 17 00:00:00 2001 From: "nelson.kai" Date: Fri, 24 Mar 2023 13:52:20 +0800 Subject: [PATCH] Update 20230324 --- ...1fdd26f4-9f97-4ac0-9d0c-0e5ef70067a1.vsidx | Bin 0 -> 127608 bytes .../FileContentIndex/read.lock | 0 .vs/ExportDataToFile/v16/.suo | Bin 165376 -> 152064 bytes .vs/ExportDataToFile/v17/.suo | Bin 0 -> 135168 bytes ExportDataToFile.sln | 9 +- Form1.Designer.cs | 171 ++++++++++---- Form1.cs | 135 ++--------- Form1.resx | 24 ++ ...ataAccess.Common.Configuration.Section.xsd | 138 +++++++++++ ...ataAccess.Client.Configuration.Section.xsd | 221 ++++++++++++++++++ 10 files changed, 534 insertions(+), 164 deletions(-) create mode 100644 .vs/ExportDataToFile/FileContentIndex/1fdd26f4-9f97-4ac0-9d0c-0e5ef70067a1.vsidx create mode 100644 .vs/ExportDataToFile/FileContentIndex/read.lock create mode 100644 .vs/ExportDataToFile/v17/.suo create mode 100644 Oracle.DataAccess.Common.Configuration.Section.xsd create mode 100644 Oracle.ManagedDataAccess.Client.Configuration.Section.xsd diff --git a/.vs/ExportDataToFile/FileContentIndex/1fdd26f4-9f97-4ac0-9d0c-0e5ef70067a1.vsidx b/.vs/ExportDataToFile/FileContentIndex/1fdd26f4-9f97-4ac0-9d0c-0e5ef70067a1.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..57c2b40b38e3a657c886fd0f7fe85f2a84cb8cbc GIT binary patch literal 127608 zcmcHB36$hUeE|Fc3^wMz%pGuHGt#=Jy4A-_&uDr~Nh+ypr&Q9YO0Cw+PR7Qpjlmad zbFLR`?i&N)KEe&*3U`3mn9JM{0wfs188GHdxMFVj{{Q7qUcUFf?*-m-`l)44~ zjQNap7z^1+j-AZdA`FXcvBSKC`5yCq=5ywU%-?1Ej!xKFWSt$h#2Dv{8^$f;j`0Jm z%UE|G>u#_fV?E9S#sc^aSTJP4hy|;x&sd+ce!vEd4F+t;*pRbf!bU?jO4u@IE1a!z zCW1v4cxH8V3-M65_y zk+Q+jP3etx5IWh z+YQ-X%MSP0;eZ|Pvx^x!0)x+vbnYe1y()Q{dW?DOB#)i!u|1jkjpM#RJ~r#U6el&x<`T@x03Otmpfl-|>9z z`Jw0Udi%K7^Sxfj3wmDA_kw{J4836F1P8-eBMjJKk{U4VS%W#El_-gwnp?Rz5eBJD+m7qwm-d9n85!b^mg#9ku3B=ZvGC6H2iiS-ia zN$$zHmkKXcURrpW_NIlWjHj%Z3omayBRx}kruK@+D^jnhyt44h%B!ST6`qxzO+CBi zS?Af-b5qaFJ=c0O;mu=jo_KTV&8OZx_vY4{JMVDd9q#+AmA+T`p7lM4+X+7%-{-y``ds)t^11YR<#X$E=ku8#7k-lYx$v#@FW$G0`TJP7 zj~&^!8193Z@7u@c`?_r3WO53-_>@!pQgiAxdG#oB1^Q9FS~;HJm~XanfDp*bKVd5fb&6*4;df!`H1lm=PNKQ^D$)8TsSUj z9tj@BJd!+8JSuqPcm#B3>lCNO`fzi;@==F9k0nUP@jTysUU7d8K$&@T%rka2s(exlOs9 za;vy4xGgzsWb3$v30m$1capm)cZ$1$yNbIxcP+0KuMMv)uN|KSd?xrz@|ohzfH#si z@JGexIiFj8K=T6!x~$XPH|Z`db-OUYC+>EWZdZ1@X}6noyLq>3y4|ANExX;S+qK

Ppj1i*7dS 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 literal 0 HcmV?d00001 diff --git a/.vs/ExportDataToFile/FileContentIndex/read.lock b/.vs/ExportDataToFile/FileContentIndex/read.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/ExportDataToFile/v16/.suo b/.vs/ExportDataToFile/v16/.suo index fba774e8affe03e3a13d88198292a67c291b0469..0ffe2f13b76cd27f9d79335eed15b34d21b8e72f 100644 GIT binary patch delta 3674 zcmds4eQZoLmUbvO;WxINlBmtLPHmdO~Xiu z3*8#6XbSJPT#2ZS?x54LuwYBLtT;+^9dV`!Nw z?T<;j(l7VibI!f*_@1wu;QqAWF+-o@5!A(oNvE4gq(T^tL?X;hB1|RB5$4y|o$71= z6+6;f-qZcE()YXnn%EjOh7~e*Ty)FG&jZQr(*MZnp+61gbjp^gl)8ImN-4p>c*r zUGLb5HWQ-WAszNkGT}k*@X73*M@aUdcQ{t~{OBM$>ZrTxNTf7MKIpXXBy9RWa$1^Q z%T4wdX2!`q{D-aJq0{s_@(EMRk%>4BP7sz*j!)e)06EIGMv} zSllr02A>F6_Q4kIh9wmSvTuXJcdh0P66B_%=;H@oldw( zU_acVIW0y<{X&0qr5}Nsb58Fg4bGK&mJa8vP##O!Gq>ASw4{|wikE3Ek^LV;_E-@d| z+(C0ORleWwhmQC%MDWSrw+jotZn8E$I4nffvKi8~0xQJfW#i$3JUImy$v0PHwREgN zy}H~h&(1=RJnsyc!Jy*PzM${J4|H-YES=N#(J(bH2oO`Qm0Q)FLhb z8`8J5W(dblCErYR+&CgEw4Ol7AaLHWEQ@KvfmWO7-f4%KWBpDK z0{r%LhdbX{^k{d~%P}|Co+Xj%*Z&LKX5Y2#+lN%vLqbX%Y1P654y=Q({SeL6^aZGU z{GbzoJrStU0zDDrjNH3Vj7(iBs`tGY`T>TzQO#Mb+@JIQ94bEr73vJ1o^$6vq(2z7 z8=_|{(Owq8ttMgWbt&9$5~8^`R_l5j^o1nhE*+O9Pb8k* zZq8j2t(N}$dV_8*X>f~+9|0)-nO`TWdn-h+;Jm_(EG`rNd6$)f1kO0oRk+ju95VR{ z>{K!QT7#b3QEehu^Jne{b&F5W`tC%D@Nc=K=l)lIKexSJyl-~O!7o7(Bki@q*Vki! zV$$Khd(W)lz7=9|-_zn}&sg>RV&T_Hg0vt{vvpksP06?op>BoKIGrPa%QKrouc0ii z@-x4w%HJj>ZYiu7t#qJ`x)Ie*qqtCR71mCx<~e*WDb$-1I)4E5_nhm_FU7&>eU z4WY1nzCc?rG?W~A7p0{T^0oZ)mq9Fx*fiUjPeBg61sTF~$)-6jTpAZs`0ZtL=xR=X z3mC=Ti%&`WB(RE$H}t~(flbyg5fgKSKW(fc=*N|Lc0g;mS4t{(6%Oqo-Qe z!)sM&6Nmp~mktw{!hbQrX+ysW(~cn?SF-`-vg_cIqa!3+Y{xD|8_e@U|82lfE%whr zg^heC8-q!OXQw>2pMMX}Rqh!-2w?m=G znT4;1f9}Kq;Bq~-6eU;;nX4%f#zx5?cZ?o_@5l0_6IaV?C8!UVm*Od4D-XIcTMo|0 zlyNom`^JVXoaI6bge%;b1kfp~%CHbXZZE?e+3dzCa8Z_*V;i<@7Ut@Svbh|+^0P8D z$)R#wDgRuKGi6~JruI+86zTQgDjD=(hTQ7G%E9DtcG@b?x+i-lVJ6wdvZa@$pMm(LLCbWW_S{z`OBAwIl4S!yiTOWE#_8nCYtenM5%c6gGg_s$5kspBjF@4J+W^?iqGA delta 4717 zcmds43v83u75>l7??)0Rao)igCxH|~Nm4s;9EYaGAx;WSN|FK<1%eV6=vpWZG_=q% zuwbHWLv8Y(DtAI%ml~F`X=OA&!d)j+^AKt$*2l(P)ug7Vs=92|SV^@&+hpfBb{++7 zMcSloSNeR;J?B2Zd;fcmgGUmB2a~#;wFa5vnS~puwvq54;Twd92oDoB5jGRPMXj2d@XM=jNcf(qg!AxR z4Ae2cJf@#1X8M_C3xVl35}0cCaf#EgM19=^^=9h$-%Guv07msf%liphQdCQNAGC#aSeM|!u7xcs?;2n9=c7}k=)(&w zpk;JHJ#Np~2M_C4GfWUF5!yDt*-P#CF3FB7P)LnUde^ptU}5$Jk;W1&ZofG@URmWn zA^d=EW#?c~<++@vV)k#6+)da+2!cMEISN7n9G%x-rXj|bOq~Mu>D!CHJGmkp2{d9| z<|)m(MCBu#SPOPpn-hWi^T#x49=0}*Z#13U{5=*g{f>G! zS>lu%`LW7U@Y*9w6MTHq{IX_}P|acy`?#7<}{%)iu?JU7Z)zk|~yC z+_ANh+eX)hIXOS3gFT(I2n@`ZpFYoAubEb#NJt_i6AGz6d%2`h-Ac%uVq-fWG_G(L zsTHL3bhKo-N%G6dPA};!anM}^Gii=BJ)M18*;zb0*M-An&524awd9v^f@{NXsdf~1 zZhBgF_(Z;*Z~FkWWf6X56}i1t+^&x;0|X$Uamx%4~rMs#)aqQHBjK78E(Pd&l)-6Q2EL{v2BHETOR@LUi&@yq)8Ov!ZtVT zrJgSNp-Ggamna1kYi|A0zvkbW7hbByT2~*D7DVeE9ro8W&G^G9)pF3SdBZs{j`KpC`fiyR+M4DyN-NOE$) zx{-7qu%{ynoh@o!Myw6{;w3-ocgkIVgd*&77eg9tITJ=->6ilpJ5*u*I`K8{#_^Sc z(k^wNy-RRN5A1_Y`qco1^!*~VUW5)9waz8iMUQu)ahO9<{M05Q2nHW7(M!57g4S+D z>z0Z{;CCuS^o-7cF_;5}}E-5+$KIBO5v+u_3nG;xz`Ndud{@zNpF zVeMDO&`=U?t(q$%M%azc6ZUYV9DEQO7X5Aza_<~)gdO)$TA&{q905G@T9e*1aw5Hd zGx!f{m(>0fp!Pox>S1kE9M*>HKh!|Hq#5~VJtT#-hhfBM_SY}3tFK$$(tiq||MwvJ zKW2X_4L|T#_>L_53s}R4hG3&XYE~Etk9+}U=)X(@7YM=aPmVxD&=ug|zk+Wce@*dQ z7*Dsk{&muUbh@?iTh3YY4I@h>Irtw7rvuRpanN0?R#By=WB7Z%M%5 zn#6g5YLBzpQxzz6ZuA67-Rmn{rGbv>K&i{)sx0?*c*+BTfU4~02-zA2hZr;TUV{j1 z3ZK44bcdl_jKK{*+^}yHB8F+R1$&c(Np`0RXSk|dyqR*+Ei7ufkCqoL!J5co(k)?^ zO;{j2zgqmx*gH@7WUyE)mWzwUN3yk6qlNDP@$7PG$$;U8Ukr zAkSBdY}vCwye$u=iX3Rit+u*Y0+cNzS665*NcvYUR z5{)_65koBbPfgiibd=Z2g+U(kiVRp0&6P6ZLlvy~_~^?YA3e}EIcB{qn<>&{PMx?F z09$*jGaD$Hb5^d<<{qHns3>On1HY&+t$I6&t@7P_#Jt{mks%{>q8RV(&Fl4xkepp7 z9N5ykP_}&vX4z>HNhGM>Q=sABo~i0@5P;iWD3F8oq5y}`7Pj3*!TBZMQUSe7g)i*8 zTdX#Q-)j+b;eY3ZS8K~&=d46w<`Qa^P8?f?1vQncP9Gd{zS}(K$Xj`Do=jf&sy%Dn vj9Du`TK{FP_mi{t%hoI4!an0H=#;HK;gF3BL^{s&)&HCCOFR7EU5$SLTI$tG diff --git a/.vs/ExportDataToFile/v17/.suo b/.vs/ExportDataToFile/v17/.suo new file mode 100644 index 0000000000000000000000000000000000000000..5c721666eac8c12076d676b8ed45843229459ddb GIT binary patch literal 135168 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 literal 0 HcmV?d00001 diff --git a/ExportDataToFile.sln b/ExportDataToFile.sln index 845d81e..54c5333 100644 --- a/ExportDataToFile.sln +++ b/ExportDataToFile.sln @@ -1,12 +1,10 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.31410.357 +# Visual Studio Version 17 +VisualStudioVersion = 17.4.33205.214 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExportDataToFile", "ExportDataToFile.csproj", "{4DC47324-7EF1-449D-99C4-04C49E44D113}" EndProject -Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "ExportProject", "..\ExportProject\ExportProject.vdproj", "{77BEA279-337F-40B2-A6D5-C57E2C30F640}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -17,9 +15,6 @@ Global {4DC47324-7EF1-449D-99C4-04C49E44D113}.Debug|Any CPU.Build.0 = Debug|Any CPU {4DC47324-7EF1-449D-99C4-04C49E44D113}.Release|Any CPU.ActiveCfg = Release|Any CPU {4DC47324-7EF1-449D-99C4-04C49E44D113}.Release|Any CPU.Build.0 = Release|Any CPU - {77BEA279-337F-40B2-A6D5-C57E2C30F640}.Debug|Any CPU.ActiveCfg = Debug - {77BEA279-337F-40B2-A6D5-C57E2C30F640}.Release|Any CPU.ActiveCfg = Release - {77BEA279-337F-40B2-A6D5-C57E2C30F640}.Release|Any CPU.Build.0 = Release EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Form1.Designer.cs b/Form1.Designer.cs index 2e84d10..32bb200 100644 --- a/Form1.Designer.cs +++ b/Form1.Designer.cs @@ -57,11 +57,6 @@ namespace ExportDataToFile this.dgvExportList = new System.Windows.Forms.DataGridView(); this.label11 = new System.Windows.Forms.Label(); this.dgvColumnMapping = new System.Windows.Forms.DataGridView(); - this.clExpColumn = new System.Windows.Forms.DataGridViewCheckBoxColumn(); - this.clClean = new System.Windows.Forms.DataGridViewButtonColumn(); - this.clSourceColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.clType = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.clTargetColumn = new System.Windows.Forms.DataGridViewComboBoxColumn(); this.txtWhere = new System.Windows.Forms.TextBox(); this.label13 = new System.Windows.Forms.Label(); this.label14 = new System.Windows.Forms.Label(); @@ -78,6 +73,19 @@ namespace ExportDataToFile this.btnImportXML = new System.Windows.Forms.Button(); this.ofPath = new System.Windows.Forms.OpenFileDialog(); this.btnClean = new System.Windows.Forms.Button(); + this.clExport = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.clCancel = new System.Windows.Forms.DataGridViewButtonColumn(); + this.clShow = new System.Windows.Forms.DataGridViewButtonColumn(); + this.clSourceTable = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.clTargetTable = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.clTableDel = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.clWhere = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.clMappingData = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.clExpColumn = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.clClean = new System.Windows.Forms.DataGridViewButtonColumn(); + this.clSourceColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.clType = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.clTargetColumn = new System.Windows.Forms.DataGridViewComboBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.dgvExportList)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvColumnMapping)).BeginInit(); this.SuspendLayout(); @@ -89,7 +97,7 @@ namespace ExportDataToFile this.txtTargetID.Name = "txtTargetID"; this.txtTargetID.Size = new System.Drawing.Size(135, 29); this.txtTargetID.TabIndex = 11; - this.txtTargetID.Text = "postgres"; + this.txtTargetID.Text = "sa"; // // label7 // @@ -342,9 +350,19 @@ namespace ExportDataToFile this.dgvExportList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left))); this.dgvExportList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvExportList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.clExport, + this.clCancel, + this.clShow, + this.clSourceTable, + this.clTargetTable, + this.clTableDel, + this.clWhere, + this.clMappingData}); this.dgvExportList.Location = new System.Drawing.Point(18, 125); this.dgvExportList.Name = "dgvExportList"; this.dgvExportList.RowTemplate.Height = 25; + this.dgvExportList.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; this.dgvExportList.Size = new System.Drawing.Size(1204, 920); this.dgvExportList.TabIndex = 17; this.dgvExportList.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvExportList_CellClick); @@ -378,48 +396,11 @@ namespace ExportDataToFile this.dgvColumnMapping.Location = new System.Drawing.Point(1228, 183); this.dgvColumnMapping.Name = "dgvColumnMapping"; this.dgvColumnMapping.RowTemplate.Height = 25; + this.dgvColumnMapping.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; this.dgvColumnMapping.Size = new System.Drawing.Size(556, 342); this.dgvColumnMapping.TabIndex = 19; this.dgvColumnMapping.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvColumnMapping_CellContentClick); // - // clExpColumn - // - this.clExpColumn.HeaderText = "匯出"; - this.clExpColumn.Name = "clExpColumn"; - this.clExpColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.clExpColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.clExpColumn.Width = 65; - // - // clClean - // - this.clClean.HeaderText = "清除"; - this.clClean.Name = "clClean"; - this.clClean.Width = 50; - // - // clSourceColumn - // - this.clSourceColumn.DataPropertyName = "COLUMN_NAME"; - this.clSourceColumn.HeaderText = "來源欄位"; - this.clSourceColumn.Name = "clSourceColumn"; - this.clSourceColumn.ReadOnly = true; - this.clSourceColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.clSourceColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; - this.clSourceColumn.Width = 200; - // - // clType - // - this.clType.DataPropertyName = "DATA_TYPE"; - this.clType.HeaderText = "型態"; - this.clType.Name = "clType"; - this.clType.Width = 80; - // - // clTargetColumn - // - this.clTargetColumn.HeaderText = "目標欄位"; - this.clTargetColumn.Name = "clTargetColumn"; - this.clTargetColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.clTargetColumn.Width = 200; - // // txtWhere // this.txtWhere.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -572,6 +553,100 @@ namespace ExportDataToFile this.btnClean.UseVisualStyleBackColor = true; this.btnClean.Click += new System.EventHandler(this.btnClean_Click); // + // clExport + // + this.clExport.HeaderText = "匯出"; + this.clExport.Name = "clExport"; + this.clExport.Width = 70; + // + // clCancel + // + this.clCancel.HeaderText = "清除"; + this.clCancel.Name = "clCancel"; + this.clCancel.Text = "..."; + this.clCancel.UseColumnTextForButtonValue = true; + this.clCancel.Width = 70; + // + // clShow + // + this.clShow.HeaderText = "顯示來源"; + this.clShow.Name = "clShow"; + this.clShow.Text = "..."; + this.clShow.UseColumnTextForButtonValue = true; + // + // clSourceTable + // + this.clSourceTable.DataPropertyName = "TableName"; + this.clSourceTable.HeaderText = "來源資料表名稱"; + this.clSourceTable.Name = "clSourceTable"; + this.clSourceTable.ReadOnly = true; + this.clSourceTable.Width = 200; + // + // clTargetTable + // + this.clTargetTable.HeaderText = "目標資料表名稱"; + this.clTargetTable.Name = "clTargetTable"; + this.clTargetTable.ReadOnly = true; + this.clTargetTable.Width = 200; + // + // clTableDel + // + this.clTableDel.HeaderText = "清除目標資料表內容"; + this.clTableDel.Name = "clTableDel"; + this.clTableDel.Width = 200; + // + // clWhere + // + this.clWhere.HeaderText = "過濾條件"; + this.clWhere.Name = "clWhere"; + this.clWhere.Visible = false; + // + // clMappingData + // + this.clMappingData.HeaderText = "欄位對應"; + this.clMappingData.Name = "clMappingData"; + this.clMappingData.Visible = false; + // + // clExpColumn + // + this.clExpColumn.HeaderText = "匯出"; + this.clExpColumn.Name = "clExpColumn"; + this.clExpColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.clExpColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.clExpColumn.Width = 65; + // + // clClean + // + this.clClean.HeaderText = "清除"; + this.clClean.Name = "clClean"; + this.clClean.Text = "..."; + this.clClean.UseColumnTextForButtonValue = true; + this.clClean.Width = 50; + // + // clSourceColumn + // + this.clSourceColumn.DataPropertyName = "COLUMN_NAME"; + this.clSourceColumn.HeaderText = "來源欄位"; + this.clSourceColumn.Name = "clSourceColumn"; + this.clSourceColumn.ReadOnly = true; + this.clSourceColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.clSourceColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.clSourceColumn.Width = 200; + // + // clType + // + this.clType.DataPropertyName = "DATA_TYPE"; + this.clType.HeaderText = "型態"; + this.clType.Name = "clType"; + this.clType.Width = 80; + // + // clTargetColumn + // + this.clTargetColumn.HeaderText = "目標欄位"; + this.clTargetColumn.Name = "clTargetColumn"; + this.clTargetColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.clTargetColumn.Width = 200; + // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 20F); @@ -680,6 +755,14 @@ namespace ExportDataToFile private System.Windows.Forms.Button btnImportXML; private System.Windows.Forms.OpenFileDialog ofPath; private System.Windows.Forms.Button btnClean; + private System.Windows.Forms.DataGridViewCheckBoxColumn clExport; + private System.Windows.Forms.DataGridViewButtonColumn clCancel; + private System.Windows.Forms.DataGridViewButtonColumn clShow; + private System.Windows.Forms.DataGridViewTextBoxColumn clSourceTable; + private System.Windows.Forms.DataGridViewTextBoxColumn clTargetTable; + private System.Windows.Forms.DataGridViewCheckBoxColumn clTableDel; + private System.Windows.Forms.DataGridViewTextBoxColumn clWhere; + private System.Windows.Forms.DataGridViewTextBoxColumn clMappingData; private System.Windows.Forms.DataGridViewCheckBoxColumn clExpColumn; private System.Windows.Forms.DataGridViewButtonColumn clClean; private System.Windows.Forms.DataGridViewTextBoxColumn clSourceColumn; diff --git a/Form1.cs b/Form1.cs index 2637633..32d1bce 100644 --- a/Form1.cs +++ b/Form1.cs @@ -45,8 +45,7 @@ namespace ExportDataToFile } private void Form1_Load(object sender, EventArgs e) - { - ResetDataGridView(); + { } @@ -328,7 +327,7 @@ namespace ExportDataToFile string strPath = ""; sfPath.AddExtension = false; sfPath.Filter = "All files (*.*)|*.*"; - sfPath.FileName = "Output" + DateTime.Now.ToString("_yyyyMMddHHmmss"); + sfPath.FileName = "Output" + DateTime.Now.ToString("_yyyyMMddHHmmss"); if (sfPath.ShowDialog() == DialogResult.Cancel) //如果按下取消,放棄後面動作 return; @@ -601,10 +600,9 @@ namespace ExportDataToFile txtTargetPWD.Text = ""; cbTargetTable.SelectedIndex = -1; cbTargetTable.Enabled = false; - dgvExportList.DataSource = null; - dgvColumnMapping.DataSource = null; - ResetDataGridView(); //重建DataGridView欄位 - + CleanRows(dgvExportList); + CleanRows(dgvColumnMapping); + sqlMSSourceConn = null; sqlMSTargetConn = null; sqlPsgSourceConn = null; @@ -949,7 +947,6 @@ namespace ExportDataToFile return "[" + strSourceCol + "] AS " + strTargetCol; case "DATETIME": return "Convert(varchar,[" + strSourceCol + "],21) AS " + strTargetCol; - //return "[" + strSourceCol + "] AS " + strTargetCol; default: return "[" + strSourceCol + "] AS " + strTargetCol; } @@ -964,13 +961,13 @@ namespace ExportDataToFile switch (strType.ToUpper()) { case "STRING": - return "'" + strData.ToString().Trim() + "'"; + return "'" + strData.ToString().Replace("'","''") + "'"; case "INT32": return strData.ToString().Trim(); case "DECIMAL": return strData.ToString().Trim(); default: - return "'" + strData.ToString().Trim() + "'"; + return "'" + strData.ToString().Replace("'", "''").Trim() + "'"; } } @@ -1652,13 +1649,13 @@ namespace ExportDataToFile switch (strType.ToUpper()) { case "STRING": - return "'" + strData.ToString().Trim() + "'"; + return "'" + strData.ToString().Replace("'", "''") + "'"; case "INT32": return strData.ToString().Trim(); case "DECIMAL": return strData.ToString().Trim(); default: - return "'" + strData.ToString().Trim() + "'"; + return "'" + strData.ToString().Replace("'", "''") + "'"; } } #endregion //End of MySQL @@ -1999,11 +1996,11 @@ namespace ExportDataToFile switch (strType.ToUpper()) { case "SYSTEM.STRING": - return "'" + strData.ToString().Trim() + "'"; + return "'" + strData.ToString().Replace("'","''") + "'"; case "SYSTEM.DECIMAL": return strData.ToString().Trim(); default: - return "'" + strData.ToString().Trim() + "'"; + return "'" + strData.ToString().Replace("'", "''") + "'"; } } @@ -2368,7 +2365,7 @@ namespace ExportDataToFile senderGrid.Rows[intRowIndex].Cells["clTableDel"].Value = false; senderGrid.Rows[intRowIndex].Cells["clWhere"].Value = ""; senderGrid.Rows[intRowIndex].Cells["clMappingData"].Value = ""; - CleanMappingRow(senderGrid, intRowIndex); + //CleanRows(senderGrid, intRowIndex); txtWhere.Text = ""; Application.DoEvents(); } @@ -2411,11 +2408,16 @@ namespace ExportDataToFile } } - private void CleanMappingRow(DataGridView senderGrid,int intRowIndex) - { - DataTable CleanTable = (DataTable)dgvColumnMapping.DataSource; - CleanTable.Rows.Clear(); - dgvColumnMapping.DataSource = CleanTable; + private void CleanRows(DataGridView senderGrid) + { + if (senderGrid.DataSource != null) + { + DataTable CleanTable = (DataTable)senderGrid.DataSource; + CleanTable.Rows.Clear(); + senderGrid.DataSource = CleanTable; + CleanTable.Dispose(); + } + } private void EnableExport() @@ -2581,99 +2583,6 @@ namespace ExportDataToFile } } - private void ResetDataGridView() - { - #region dgvExportList - dgvExportList.Columns.Clear(); - //匯出 - DataGridViewCheckBoxColumn clExport = new DataGridViewCheckBoxColumn(); - clExport.HeaderText = "匯出"; - clExport.Name = "clExport"; - clExport.Width = 50; - //清除 - DataGridViewButtonColumn clCancel = new DataGridViewButtonColumn(); - clCancel.HeaderText = "清除"; - clCancel.Name = "clCancel"; - clCancel.Width = 50; - //顯示來源 - DataGridViewButtonColumn clShow = new DataGridViewButtonColumn(); - clShow.HeaderText = "顯示來源"; - clShow.Name = "clShow"; - //來源資料表名稱 - DataGridViewTextBoxColumn clSourceTable = new DataGridViewTextBoxColumn(); - clSourceTable.HeaderText = "來源資料表名稱"; - clSourceTable.Name = "clSourceTable"; - clSourceTable.DataPropertyName = "TableName"; - clSourceTable.Width = 200; - //目標資料表名稱 - DataGridViewTextBoxColumn clTargetTable = new DataGridViewTextBoxColumn(); - clTargetTable.HeaderText = "目標資料表名稱"; - clTargetTable.Name = "clTargetTable"; - clTargetTable.Width = 200; - //清除目標資料表內容 - DataGridViewCheckBoxColumn clTableDel = new DataGridViewCheckBoxColumn(); - clTableDel.HeaderText = "清除目標資料表內容"; - clTableDel.Name = "clTableDel"; - clTableDel.Width = 200; - //過濾條件 - DataGridViewTextBoxColumn clWhere = new DataGridViewTextBoxColumn(); - clWhere.HeaderText = "過濾條件"; - clWhere.Name = "clWhere"; - clWhere.Visible = false; - //欄位對應 - DataGridViewTextBoxColumn clMappingData = new DataGridViewTextBoxColumn(); - clMappingData.HeaderText = "欄位對應"; - clMappingData.Name = "clMappingData"; - clMappingData.Visible = false; - - dgvExportList.Columns.Add(clExport); - dgvExportList.Columns.Add(clCancel); - dgvExportList.Columns.Add(clShow); - dgvExportList.Columns.Add(clSourceTable); - dgvExportList.Columns.Add(clTargetTable); - dgvExportList.Columns.Add(clTableDel); - dgvExportList.Columns.Add(clWhere); - dgvExportList.Columns.Add(clMappingData); - #endregion - - #region dgvColumnMapping - //匯出 - dgvColumnMapping.Columns.Clear(); - DataGridViewCheckBoxColumn clExpColumn = new DataGridViewCheckBoxColumn(); - clExpColumn.HeaderText = "匯出"; - clExpColumn.Name = "clExpColumn"; - clExpColumn.Width = 50; - //清除 - DataGridViewButtonColumn clClean = new DataGridViewButtonColumn(); - clClean.HeaderText = "清除"; - clClean.Name = "clClean"; - clClean.Width = 50; - //來源欄位 - DataGridViewTextBoxColumn clSourceColumn = new DataGridViewTextBoxColumn(); - clSourceColumn.HeaderText = "來源欄位"; - clSourceColumn.Name = "clSourceColumn"; - clSourceColumn.DataPropertyName = "COLUMN_NAME"; - clSourceColumn.Width = 100; - //型態 - DataGridViewTextBoxColumn clType = new DataGridViewTextBoxColumn(); - clType.HeaderText = "型態"; - clType.Name = "clType"; - clType.DataPropertyName = "DATA_TYPE"; - clType.Width = 100; - //目標欄位 - DataGridViewComboBoxColumn clTargetColumn = new DataGridViewComboBoxColumn(); - clTargetColumn.HeaderText = "目標欄位"; - clTargetColumn.Name = "clTargetColumn"; - clTargetColumn.Width = 100; - - dgvColumnMapping.Columns.Add(clExpColumn); - dgvColumnMapping.Columns.Add(clClean); - dgvColumnMapping.Columns.Add(clSourceColumn); - dgvColumnMapping.Columns.Add(clType); - dgvColumnMapping.Columns.Add(clTargetColumn); - #endregion - - } #endregion } } diff --git a/Form1.resx b/Form1.resx index 3710c45..e654215 100644 --- a/Form1.resx +++ b/Form1.resx @@ -117,6 +117,30 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + True diff --git a/Oracle.DataAccess.Common.Configuration.Section.xsd b/Oracle.DataAccess.Common.Configuration.Section.xsd new file mode 100644 index 0000000..eee2d5c --- /dev/null +++ b/Oracle.DataAccess.Common.Configuration.Section.xsd @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Oracle.ManagedDataAccess.Client.Configuration.Section.xsd b/Oracle.ManagedDataAccess.Client.Configuration.Section.xsd new file mode 100644 index 0000000..70935a1 --- /dev/null +++ b/Oracle.ManagedDataAccess.Client.Configuration.Section.xsd @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +