質問編集履歴

3

コード更新

2019/06/23 06:55

投稿

yymedi
yymedi

スコア9

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- ```
11
+ ```VC++
12
12
 
13
13
  #define ODBCset2 "Driver=○○○;Server=○○○;DATABASE=○○○;UID=○○○;PWD=○○○;"
14
14
 
@@ -27,6 +27,8 @@
27
27
  OdbcConnection^ ODB = gcnew OdbcConnection();
28
28
 
29
29
  ODB->ConnectionString = ODBCset2;//
30
+
31
+ #↓ここからメモリリーク
30
32
 
31
33
  ODB->Open();//ODBCに接続する
32
34
 
@@ -87,3 +89,5 @@
87
89
 
88
90
 
89
91
  プログラム開始とともに使用メモリは30MBくらいからみるみる増加し、1時間で300MB超えてしまいます。
92
+
93
+ ODBCをopen()でメモリリークが発生しているようですが、解放がこのコードではできていないようです。

2

コードの更新

2019/06/23 06:55

投稿

yymedi
yymedi

スコア9

test CHANGED
File without changes
test CHANGED
@@ -46,11 +46,11 @@
46
46
 
47
47
  count = int::Parse(c_data);//String^ to int
48
48
 
49
- if (count >= 1)
49
+ if (count >= 1)#tableにレコードが1つ以上あったら
50
50
 
51
51
  {
52
52
 
53
- #処理
53
+ #処理実行してレコードを削除する
54
54
 
55
55
  }
56
56
 
@@ -72,7 +72,7 @@
72
72
 
73
73
  catch (...) {
74
74
 
75
- MessageBox::Show("接続エラー");
75
+ #接続エラーの表示
76
76
 
77
77
  }
78
78
 

1

コードの更新

2019/06/23 06:36

投稿

yymedi
yymedi

スコア9

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,10 @@
11
11
  ```
12
12
 
13
13
  #define ODBCset2 "Driver=○○○;Server=○○○;DATABASE=○○○;UID=○○○;PWD=○○○;"
14
+
15
+ using namespace System;
16
+
17
+ using namespace System::Data::Odbc;
14
18
 
15
19
 
16
20