ようこそゲストさん | ログイン |

掲示板

トップページ > 過去ログ > 記事閲覧
DBベクター図形の削除について
日時: 2008/04/08 10:34
名前: GEOSISサポート受付

「Geosis Ver7.0001 VB2005 geoDLL使用可能」
DBベクター図形の削除で、「GEOSISのコマンドを使用せずにSQLを実行することで、(DBベクターガイドP15)」とあります。
以下のコードで、指定ELの図形を削除したのですが、削除したあとで画面を数回スクロールしないと実際に図形が消えません。
何が問題なのでしょうか?
Dim MDBName As String = mDWCatvMDB ' MDBファイルのフ
ルパス
Dim cn As New System.Data.OleDb.OleDbConnection ' ADO.NET
OleDbConnection オブジェクト
Dim cmd As OleDb.OleDbCommand    ' OleDb
OleDbCommand オブジェクト
Dim DBTabl As String = mDrowingPage.TabName

cn.ConnectionString = pvMDB & "Data Source=" & MDBName
Try
cmd = New OleDb.OleDbCommand("DELETE FROM " & DBTabl & " " _
& "WHERE [EL] = '" & geoEL & "'", cn)
cn.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("削除に失敗しました!" _
, "配信範囲の設定", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation)
Finally
cn.Dispose()
Application.DoEvents()
georet = gexec("DSPREFRESH", "")
georet = gexec("DSPINVAL")
End Try
今の所、図形は削除されています。コードの実行直後に画面に反映されないのがわかりません。

Page: 1 |

Re: DBベクター図形の削除について ( No.1 )
日時: 2008/04/08 10:36
名前: NCG

GEOSISがDB図形データを一時キャッシュしていることが原因で、この現象が発生していると思われます。
コードを以下のように変更し、キャッシュをクリアするようにお願いします。
georet = gexec("DSPREFRESH", "")

georet = gexec("DSPREFRESH", "CLR")

Page: 1 |



| 利用規約 |

(C) 2024 AS Locus INC.