0

My.Settings には、36000 レコードの Datatable と Couple Large Array Lists を含む多くの変数があります。My.Settings.Save() を呼び出すと、多くの時間がかかるすべての変数が保存され、保存されていない変数が保存されます。変更されましたが、特定の Datatable または ArrayList のみを保存する方法はありますか?

My.Setting.Save() 
'but what i want for example is something like
My.Settings.SomeDatatable.Save()
4

2 に答える 2

0

Settings 内にない dataTableを保存するのはどうですか。DataTable.WriteXml()を利用できます。これにより、設定がはるかに小さくなり、個別にアクセスできます。

' save table
DataTable.WriteXml("yourFile.xml")

' load table
Dim newTable As New DataTable
newTable.ReadXml(fileName)

しかし、他に可能性がない場合は、SLaksのこのソリューションも機能します

' save table
Dim writer As New StringWriter()
table.WriteXml(writer)
My.MySettings.Default.TableXml = writer.ToString()

' load table
Dim reader As New StringReader(My.MySettings.Default.TableXml)
table.ReadXml(reader)
于 2012-08-27T09:52:00.060 に答える
0

これらの設定は XML ファイルに保存されます。XML ファイルはデータを固定幅のレコード形式で格納しないため、XML ファイル内の単一のノードを更新するには、全体を書き換える必要があります。遅すぎる場合は、次のいずれかをお勧めします。

  • これらの設定を複数の XML ファイルに保存して、該当するファイルのみを保存し、残りのファイルを保存する必要がないようにします。
  • ファイル全体を書き換えずに各行を個別に保存できるデータベースに設定を保存します

データベースはデータを固定幅の「ページ」に格納するため、ファイル全体ではなく、変更されたページのみを書き換える必要があります。

于 2012-08-27T09:38:51.370 に答える