DOBON.NET DOBON.NETプログラミング掲示板過去ログ

データテーブルの存在確認について

環境/言語:[vb.net]
分類:[.NET]

はじめて書かせていただきます。
vb.netを使用しています。
DBからデータを取得し、データセットの「test01」というデータテーブルに
入れます。
同じことをもう一度すると、元のデータテーブルにあったデータに追加されてしまいます。
データテーブルにデータを入れる前に、該当の名前のデータテーブルの存在を確認し、
存在していれば、そのデータテーブルを削除してから、該当の名前のデータテーブルを
新規で作成してデータをいれたいのですが、
1.データセットにtest01というデータテーブルが存在するかの確認手順はどのようなものが
 あるのでしょうか?

宜しくお願いします。
■No20163に返信(orangeさんの記事)
。。。ヘルプ(MSDN)でメンバ一覧のページをざっと読めば、使えそうなプロパティとか
メソッドの見当は簡単に付くと思うのですが?
[DataSet メンバ]
http://msdn2.microsoft.com/ja-jp/library/system.data.dataset_members(VS.80).aspx

[DataSet.Tables プロパティ]
http://msdn2.microsoft.com/ja-jp/library/system.data.dataset.tables(VS.80).aspx
とか?
やろうと思えば

Dim ds As DataSet
Dim isTable As Boolean = False
For i As Integer = 0 To ds.Tables.Count - 1
If ds.Tables(i).TableName = "test01" Then
isTable = True
Exit For
End If
Next
If isTable Then
ds.Tables("test01").Clear()
End If

などでできないこともないですが、新規のデータを入れたいならば、
新規のDataSetもしくはDataTableを用意したほうが
構造的にもすっきりすると思います。
いかがでしょうか。
これらを試してみます。
ありがとうございます。


■No20175に返信(takumixさんの記事)
> やろうと思えば
>
> Dim ds As DataSet
> Dim isTable As Boolean = False
> For i As Integer = 0 To ds.Tables.Count - 1
> If ds.Tables(i).TableName = "test01" Then
> isTable = True
> Exit For
> End If
> Next
> If isTable Then
> ds.Tables("test01").Clear()
> End If
>
> などでできないこともないですが、新規のデータを入れたいならば、
> 新規のDataSetもしくはDataTableを用意したほうが
> 構造的にもすっきりすると思います。
> いかがでしょうか。

DOBON.NET | プログラミング道 | プログラミング掲示板