お世話になります。
Dapper
を使ってOracleDBへUPDATEを行う際について質問させてください。
下記ソースを実行すると、添付画像の箇所で止まってしまいます(例外にはならない)。
FileInfoやtry-catchは不必要かもしれませんが念のため残してあります、、。
何が原因でしょうか。
また、「ネイティブフレームが呼び出し履歴の最初にあるため、式を評価できません」というメッセージがひたすら並んでいますが、これは何を意味しているのでしょうか。
恐れ入りますがよろしくお願い致します。
以下ソースです。
lang
1using System; 2using System.Data; 3using System.Windows.Forms; 4using Oracle.DataAccess.Client; 5using Dapper; 6 7namespace WindowsFormsApplication 8{ 9 public partial class Form1 : Form 10 { 11 private IDbConnection con; 12 private IDbTransaction trn; 13 14 public Form1() 15 { 16 InitializeComponent(); 17 18 con = new OracleConnection("User Id=xxxx;Password=xxxx;Data Source=XE;"); 19 } 20 21//中略 22 23 private void ProcessStart_Click(object sender, EventArgs e) 24 { 25 foreach (String selected in SampleList.Items) 26 { 27 System.IO.FileInfo fi = new System.IO.FileInfo(@"C:\test\sample.tif"); 28 string folder = selected.Substring(selected.Length - 3, 3); 29 30 try 31 { 32 System.IO.FileInfo copyFile = 33 fi.CopyTo(@"D:\{0}\{1}.tif".Replace("{0}", folder).Replace("{1}", selected)); 34 35 var update = @"UPDATE T1 36 SET C1 = 4 37 , C2 = 1 38 , C3 = 0 39 WHERE C0 IN (SELECT MAX(C0) FROM T1 GROUP BY C1) 40 AND C1 IN ({0})" 41 .Replace("{0}", selected); 42 con.Open(); 43 trn = con.BeginTransaction(); 44 45 con.Execute(update); 46 trn.Commit(); 47 con.Close(); 48 } 49 catch (System.IO.IOException) 50 { 51 if (MessageBox.Show 52 ("C1:{0}\r\n画像が既に存在しています。\r\n上書きしますか?" 53 .Replace("{0}",selected), "" 54 ,MessageBoxButtons.YesNo, MessageBoxIcon.Question) 55 == DialogResult.Yes) 56 { 57 System.IO.FileInfo copyFile = 58 fi.CopyTo(@"D:\{0}\{1}.tif" 59 .Replace("{0}", folder) 60 .Replace("{1}", selected),true); 61 62 var update = @"UPDATE T1 63 SET C1 = 4 64 , C2 = 1 65 , C3 = 0 66 WHERE C0 IN (SELECT MAX(C0) FROM T1 GROUP BY C1) 67 AND C1 IN ({0})" 68 .Replace("{0}", selected); 69 con.Open(); 70 trn = con.BeginTransaction(); 71 72 con.Execute(update); 73 trn.Commit(); 74 con.Close(); 75 } 76 else 77 { 78 } 79 } 80 } 81 SampleList.Items.Clear(); 82 } 83 } 84}
以下停止箇所の画像です。
![NativeFrame]WIDTH:600
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/12/21 10:49
2014/12/22 01:22