開発環境:
Windows10 Pro
Microsoft Visual Studio Community 2019
開発言語:
VB.NET FrameWork4.5
データテーブルはデータベースの値をそのまま取得したり、
プログラムで操作したり、かなり多用しています。(私は・・・)
取得したテーブルを使いまわすときに下記失敗をよくします。
【よくやる失敗】
Dim pTbl as New DataTable Private Function ABC() as boolean try Dim mTbl as New DataTable 'mTblの操作 pTbl = mTbl Catch ex As Exception Throw ex End Try End Function
その後、pTbl を操作したときmTblの値も変わってしまいます
pTbl = mTbl を pTbl = mTbl.Copy とします。
この場合は、pTblを操作してもmTblには反映されません。
また、pTbl = mTbl.Clone とした場合は、カラムはコピーされていますが、
値は値はコピーされていません。
なお、mTbl.Clearもありますが、使ったことはありません。
mTbl.Columns.Clear
mTbl.Rows.Clear
を使います。